↑ Up

ConnectPP---0.7.2.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : ConnectPP---0.7.2
% Problem  : SWW478+7 : TPTP v9.3.1. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n005.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Thu Sep 24 09:08:15 AM UTC 2026

% Result   : Theorem 77.95s 78.21s
% Output   : Proof 78.12s
% Verified : 
% SZS Type : ERROR: Analysing output (MakeTreeStats fails)

% Comments : 
%------------------------------------------------------------------------------
fof(tsy_c_BigStep_Oeval_res,axiom,
    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,
    file('theBenchmark.p',tsy_c_BigStep_Oeval_res) ).

fof(tsy_c_BigStep_Oevals_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),evals) = evals,
    file('theBenchmark.p',tsy_c_BigStep_Oevals_res) ).

fof(tsy_c_BigStep_Ofinal_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),bool),final(X_a)) = final(X_a),
    file('theBenchmark.p',tsy_c_BigStep_Ofinal_res) ).

fof(tsy_c_BigStep_Ofinals_res,axiom,
    ! [X_a] : ti(fun(list(exp(X_a)),bool),finals(X_a)) = finals(X_a),
    file('theBenchmark.p',tsy_c_BigStep_Ofinals_res) ).

fof(tsy_c_COMBB_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c))),combb(X_b,X_c,X_a)) = combb(X_b,X_c,X_a),
    file('theBenchmark.p',tsy_c_COMBB_res) ).

fof(tsy_c_COMBC_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c))),combc(X_a,X_b,X_c)) = combc(X_a,X_b,X_c),
    file('theBenchmark.p',tsy_c_COMBC_res) ).

fof(tsy_c_COMBI_res,axiom,
    ! [X_a] : ti(fun(X_a,X_a),combi(X_a)) = combi(X_a),
    file('theBenchmark.p',tsy_c_COMBI_res) ).

fof(tsy_c_COMBK_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(X_b,X_a)),combk(X_a,X_b)) = combk(X_a,X_b),
    file('theBenchmark.p',tsy_c_COMBK_res) ).

fof(tsy_c_COMBS_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c))),combs(X_a,X_b,X_c)) = combs(X_a,X_b,X_c),
    file('theBenchmark.p',tsy_c_COMBS_res) ).

fof(tsy_c_Conform_Oconf_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Conform_Oconf_res) ).

fof(tsy_c_Conform_Ohconf_res,axiom,
    ! [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))))),bool)),hconf(X_a)) = hconf(X_a),
    file('theBenchmark.p',tsy_c_Conform_Ohconf_res) ).

fof(tsy_c_Conform_Olconf_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Conform_Olconf_res) ).

fof(tsy_c_Conform_Ooconf_res,axiom,
    ! [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(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool))),oconf(X_a)) = oconf(X_a),
    file('theBenchmark.p',tsy_c_Conform_Ooconf_res) ).

fof(tsy_c_Decl_Oclass_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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))))))))),class_1(X_a)) = class_1(X_a),
    file('theBenchmark.p',tsy_c_Decl_Oclass_res) ).

fof(tsy_c_Decl_Ois__class_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool)),is_class(X_a)) = is_class(X_a),
    file('theBenchmark.p',tsy_c_Decl_Ois__class_res) ).

fof(tsy_c_Decl_Ois__type_res,axiom,
    ! [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,bool)),is_type(X_a)) = is_type(X_a),
    file('theBenchmark.p',tsy_c_Decl_Ois__type_res) ).

fof(tsy_c_DefAss_O_092_060D_062_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(option(fun(X_a,bool)),bool)),d(X_a)) = d(X_a),
    file('theBenchmark.p',tsy_c_DefAss_O_092_060D_062_res) ).

fof(tsy_c_Exceptions_OClassCast_res,axiom,
    ti(list(char),classCast) = classCast,
    file('theBenchmark.p',tsy_c_Exceptions_OClassCast_res) ).

fof(tsy_c_Exceptions_ONullPointer_res,axiom,
    ti(list(char),nullPointer) = nullPointer,
    file('theBenchmark.p',tsy_c_Exceptions_ONullPointer_res) ).

fof(tsy_c_Exceptions_OOutOfMemory_res,axiom,
    ti(list(char),outOfMemory) = outOfMemory,
    file('theBenchmark.p',tsy_c_Exceptions_OOutOfMemory_res) ).

fof(tsy_c_Exceptions_Oaddr__of__sys__xcpt_res,axiom,
    ti(fun(list(char),nat),addr_of_sys_xcpt) = addr_of_sys_xcpt,
    file('theBenchmark.p',tsy_c_Exceptions_Oaddr__of__sys__xcpt_res) ).

fof(tsy_c_Exceptions_Opreallocated_res,axiom,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),preallocated) = preallocated,
    file('theBenchmark.p',tsy_c_Exceptions_Opreallocated_res) ).

fof(tsy_c_Exceptions_Ostart__heap_res,axiom,
    ! [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(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),start_heap(X_a)) = start_heap(X_a),
    file('theBenchmark.p',tsy_c_Exceptions_Ostart__heap_res) ).

fof(tsy_c_Exceptions_Osys__xcpts_res,axiom,
    ti(fun(list(char),bool),sys_xcpts) = sys_xcpts,
    file('theBenchmark.p',tsy_c_Exceptions_Osys__xcpts_res) ).

fof(tsy_c_Expr_Obinop_res,axiom,
    ti(fun(product_prod(bop,product_prod(val,val)),option(val)),binop) = binop,
    file('theBenchmark.p',tsy_c_Expr_Obinop_res) ).

fof(tsy_c_Expr_Obop_OAdd_res,axiom,
    ti(bop,add) = add,
    file('theBenchmark.p',tsy_c_Expr_Obop_OAdd_res) ).

fof(tsy_c_Expr_Obop_OEq_res,axiom,
    ti(bop,c_Expr_Obop_OEq) = c_Expr_Obop_OEq,
    file('theBenchmark.p',tsy_c_Expr_Obop_OEq_res) ).

fof(tsy_c_Expr_Obop_Obop__case_res,axiom,
    ! [X_t] : ti(fun(X_t,fun(X_t,fun(bop,X_t))),bop_case(X_t)) = bop_case(X_t),
    file('theBenchmark.p',tsy_c_Expr_Obop_Obop__case_res) ).

fof(tsy_c_Expr_Obop_Obop__rec_res,axiom,
    ! [X_t] : ti(fun(X_t,fun(X_t,fun(bop,X_t))),bop_rec(X_t)) = bop_rec(X_t),
    file('theBenchmark.p',tsy_c_Expr_Obop_Obop__rec_res) ).

fof(tsy_c_Expr_Oexp_OBinOp_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a)))),binOp(X_a)) = binOp(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OBinOp_res) ).

fof(tsy_c_Expr_Oexp_OBlock_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(ty,fun(exp(X_a),exp(X_a)))),block(X_a)) = block(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OBlock_res) ).

fof(tsy_c_Expr_Oexp_OCall_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a)))),call(X_a)) = call(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OCall_res) ).

fof(tsy_c_Expr_Oexp_OCast_res,axiom,
    ! [X_a] : ti(fun(list(char),fun(exp(X_a),exp(X_a))),cast(X_a)) = cast(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OCast_res) ).

fof(tsy_c_Expr_Oexp_OCond_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a)))),cond(X_a)) = cond(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OCond_res) ).

fof(tsy_c_Expr_Oexp_OFAcc_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(char),exp(X_a)))),fAcc(X_a)) = fAcc(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OFAcc_res) ).

fof(tsy_c_Expr_Oexp_OFAss_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a))))),fAss(X_a)) = fAss(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OFAss_res) ).

fof(tsy_c_Expr_Oexp_OLAss_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(exp(X_a),exp(X_a))),lAss(X_a)) = lAss(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OLAss_res) ).

fof(tsy_c_Expr_Oexp_OSeq_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),seq(X_a)) = seq(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OSeq_res) ).

fof(tsy_c_Expr_Oexp_OTryCatch_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a))))),tryCatch(X_a)) = tryCatch(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OTryCatch_res) ).

fof(tsy_c_Expr_Oexp_OVal_res,axiom,
    ! [X_a] : ti(fun(val,exp(X_a)),val_1(X_a)) = val_1(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OVal_res) ).

fof(tsy_c_Expr_Oexp_OWhile_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),while(X_a)) = while(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_OWhile_res) ).

fof(tsy_c_Expr_Oexp_Onew_res,axiom,
    ! [X_a] : ti(fun(list(char),exp(X_a)),new(X_a)) = new(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_Onew_res) ).

fof(tsy_c_Expr_Oexp_Othrow_res,axiom,
    ! [X_a] : ti(fun(exp(X_a),exp(X_a)),throw(X_a)) = throw(X_a),
    file('theBenchmark.p',tsy_c_Expr_Oexp_Othrow_res) ).

fof(tsy_c_Expr_Ofv_res,axiom,
    ti(fun(exp(list(char)),fun(list(char),bool)),fv) = fv,
    file('theBenchmark.p',tsy_c_Expr_Ofv_res) ).

fof(tsy_c_Expr_Ofvs_res,axiom,
    ti(fun(list(exp(list(char))),fun(list(char),bool)),fvs) = fvs,
    file('theBenchmark.p',tsy_c_Expr_Ofvs_res) ).

fof(tsy_c_Fun_Ocomp_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Fun_Ocomp_res) ).

fof(tsy_c_Fun_Ofun__upd_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b)))),fun_upd(X_a,X_b)) = fun_upd(X_a,X_b),
    file('theBenchmark.p',tsy_c_Fun_Ofun__upd_res) ).

fof(tsy_c_Fun_Ooverride__on_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)))),override_on(X_a,X_b)) = override_on(X_a,X_b),
    file('theBenchmark.p',tsy_c_Fun_Ooverride__on_res) ).

fof(tsy_c_HOL_OThe_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b)),the_1(product_prod(X_a,X_b))) = the_1(product_prod(X_a,X_b)),
    file('theBenchmark.p',tsy_c_HOL_OThe_res) ).

fof(tsy_c_HOL_Oundefined_res,axiom,
    ! [X_a] : ti(X_a,undefined(X_a)) = undefined(X_a),
    file('theBenchmark.p',tsy_c_HOL_Oundefined_res) ).

fof(tsy_c_JWellForm_Owf__J__mdecl_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    file('theBenchmark.p',tsy_c_JWellForm_Owf__J__mdecl_res) ).

fof(tsy_c_Lattices_Osemilattice__sup__class_Osup_res,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),semilattice_sup_sup(X_a)) = semilattice_sup_sup(X_a) ),
    file('theBenchmark.p',tsy_c_Lattices_Osemilattice__sup__class_Osup_res) ).

fof(tsy_c_List_Oappend_res,axiom,
    ! [X_b] : ti(fun(list(X_b),fun(list(X_b),list(X_b))),append(X_b)) = append(X_b),
    file('theBenchmark.p',tsy_c_List_Oappend_res) ).

fof(tsy_c_List_Odistinct_res,axiom,
    ! [X_a] : ti(fun(list(X_a),bool),distinct(X_a)) = distinct(X_a),
    file('theBenchmark.p',tsy_c_List_Odistinct_res) ).

fof(tsy_c_List_Olist_OCons_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),cons(X_a)) = cons(X_a),
    file('theBenchmark.p',tsy_c_List_Olist_OCons_res) ).

fof(tsy_c_List_Olist__all2_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_List_Olist__all2_res) ).

fof(tsy_c_List_Omap_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_List_Omap_res) ).

fof(tsy_c_List_Oset_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(X_a,bool)),set(X_a)) = set(X_a),
    file('theBenchmark.p',tsy_c_List_Oset_res) ).

fof(tsy_c_Map_Odom_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(X_a,bool)),dom(X_a,X_b)) = dom(X_a,X_b),
    file('theBenchmark.p',tsy_c_Map_Odom_res) ).

fof(tsy_c_Map_Omap__add_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b)))),map_add(X_a,X_b)) = map_add(X_a,X_b),
    file('theBenchmark.p',tsy_c_Map_Omap__add_res) ).

fof(tsy_c_Map_Omap__upds_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Map_Omap__upds_res) ).

fof(tsy_c_Map_Orestrict__map_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b)))),restrict_map(X_a,X_b)) = restrict_map(X_a,X_b),
    file('theBenchmark.p',tsy_c_Map_Orestrict__map_res) ).

fof(tsy_c_Nat_Osize__class_Osize_res,axiom,
    ! [X_a] : ti(fun(list(X_a),nat),size_size(list(X_a))) = size_size(list(X_a)),
    file('theBenchmark.p',tsy_c_Nat_Osize__class_Osize_res) ).

fof(tsy_c_Objects_Oblank_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),blank(X_a)) = blank(X_a),
    file('theBenchmark.p',tsy_c_Objects_Oblank_res) ).

fof(tsy_c_Objects_Ohext_res,axiom,
    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,
    file('theBenchmark.p',tsy_c_Objects_Ohext_res) ).

fof(tsy_c_Objects_Oinit__fields_res,axiom,
    ti(fun(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val))),init_fields) = init_fields,
    file('theBenchmark.p',tsy_c_Objects_Oinit__fields_res) ).

fof(tsy_c_Objects_Onew__Addr_res,axiom,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat)),new_Addr) = new_Addr,
    file('theBenchmark.p',tsy_c_Objects_Onew__Addr_res) ).

fof(tsy_c_Objects_Oobj__ty_res,axiom,
    ti(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty),obj_ty) = obj_ty,
    file('theBenchmark.p',tsy_c_Objects_Oobj__ty_res) ).

fof(tsy_c_Objects_Otypeof__h_res,axiom,
    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,
    file('theBenchmark.p',tsy_c_Objects_Otypeof__h_res) ).

fof(tsy_c_Option_Ooption_ONone_res,axiom,
    ! [X_a] : ti(option(X_a),none(X_a)) = none(X_a),
    file('theBenchmark.p',tsy_c_Option_Ooption_ONone_res) ).

fof(tsy_c_Option_Ooption_OSome_res,axiom,
    ! [X_a] : ti(fun(X_a,option(X_a)),some(X_a)) = some(X_a),
    file('theBenchmark.p',tsy_c_Option_Ooption_OSome_res) ).

fof(tsy_c_Option_Ooption_Ooption__case_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a))),option_case(X_a,X_b)) = option_case(X_a,X_b),
    file('theBenchmark.p',tsy_c_Option_Ooption_Ooption__case_res) ).

fof(tsy_c_Option_Othe_res,axiom,
    ! [X_a] : ti(fun(option(X_a),X_a),the(X_a)) = the(X_a),
    file('theBenchmark.p',tsy_c_Option_Othe_res) ).

fof(tsy_c_Orderings_Oord__class_Oless__eq_res,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ti(fun(X_a,fun(X_a,bool)),ord_less_eq(X_a)) = ord_less_eq(X_a) ),
    file('theBenchmark.p',tsy_c_Orderings_Oord__class_Oless__eq_res) ).

fof(tsy_c_Product__Type_OPair_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Product__Type_OPair_res) ).

fof(tsy_c_Product__Type_Ocurry_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c))),product_curry(X_a,X_b,X_c)) = product_curry(X_a,X_b,X_c),
    file('theBenchmark.p',tsy_c_Product__Type_Ocurry_res) ).

fof(tsy_c_Product__Type_Ointernal__split_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Product__Type_Ointernal__split_res) ).

fof(tsy_c_Product__Type_Oprod_Oprod__case_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c)),product_prod_case(X_a,X_b,X_c)) = product_prod_case(X_a,X_b,X_c),
    file('theBenchmark.p',tsy_c_Product__Type_Oprod_Oprod__case_res) ).

fof(tsy_c_Product__Type_Oprod_Oprod__rec_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Product__Type_Oprod_Oprod__rec_res) ).

fof(tsy_c_Progress_OWTrt_H_res,axiom,
    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,
    file('theBenchmark.p',tsy_c_Progress_OWTrt_H_res) ).

fof(tsy_c_Progress_OWTrts_H_res,axiom,
    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,
    file('theBenchmark.p',tsy_c_Progress_OWTrts_H_res) ).

fof(tsy_c_Set_OCollect_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(X_a,bool)),collect(X_a)) = collect(X_a),
    file('theBenchmark.p',tsy_c_Set_OCollect_res) ).

fof(tsy_c_SmallStep_Oassigned_res,axiom,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    file('theBenchmark.p',tsy_c_SmallStep_Oassigned_res) ).

fof(tsy_c_SmallStep_Oblocks_res,axiom,
    ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks) = blocks,
    file('theBenchmark.p',tsy_c_SmallStep_Oblocks_res) ).

fof(tsy_c_SmallStep_Ored_res,hypothesis,
    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,
    file('theBenchmark.p',tsy_c_SmallStep_Ored_res) ).

fof(tsy_c_SmallStep_Oredp_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    file('theBenchmark.p',tsy_c_SmallStep_Oredp_res) ).

fof(tsy_c_SmallStep_Oreds_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),reds) = reds,
    file('theBenchmark.p',tsy_c_SmallStep_Oreds_res) ).

fof(tsy_c_SmallStep_Oredsp_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redsp) = redsp,
    file('theBenchmark.p',tsy_c_SmallStep_Oredsp_res) ).

fof(tsy_c_State_Ohp_res,axiom,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    file('theBenchmark.p',tsy_c_State_Ohp_res) ).

fof(tsy_c_Transitive__Closure_Ortrancl_res,axiom,
    ! [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),
    file('theBenchmark.p',tsy_c_Transitive__Closure_Ortrancl_res) ).

fof(tsy_c_Transitive__Closure_Ortranclp_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),transitive_rtranclp(X_a)) = transitive_rtranclp(X_a),
    file('theBenchmark.p',tsy_c_Transitive__Closure_Ortranclp_res) ).

fof(tsy_c_Transitive__Closure_Otrancl_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),transitive_trancl(X_a)) = transitive_trancl(X_a),
    file('theBenchmark.p',tsy_c_Transitive__Closure_Otrancl_res) ).

fof(tsy_c_TypeRel_OFields_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool))),fields(X_a)) = fields(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_OFields_res) ).

fof(tsy_c_TypeRel_OMethod_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))))),method(X_a)) = method(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_OMethod_res) ).

fof(tsy_c_TypeRel_OMethods_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool))),methods(X_a)) = methods(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_OMethods_res) ).

fof(tsy_c_TypeRel_Ofield_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty)))),field(X_a)) = field(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Ofield_res) ).

fof(tsy_c_TypeRel_Ofields_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty)))),fields_1(X_a)) = fields_1(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Ofields_res) ).

fof(tsy_c_TypeRel_Ohas__field_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),has_field(X_a)) = has_field(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Ohas__field_res) ).

fof(tsy_c_TypeRel_Omethod_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),method_1(X_a)) = method_1(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Omethod_res) ).

fof(tsy_c_TypeRel_Osees__field_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),sees_field(X_a)) = sees_field(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Osees__field_res) ).

fof(tsy_c_TypeRel_Osubcls1_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool)),subcls1(X_a)) = subcls1(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Osubcls1_res) ).

fof(tsy_c_TypeRel_Osubcls1p_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool))),subcls1p(X_a)) = subcls1p(X_a),
    file('theBenchmark.p',tsy_c_TypeRel_Osubcls1p_res) ).

fof(tsy_c_TypeRel_Owiden_res,axiom,
    ! [X_m] : 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_m)))))))),fun(ty,fun(ty,bool))),widen(X_m)) = widen(X_m),
    file('theBenchmark.p',tsy_c_TypeRel_Owiden_res) ).

fof(tsy_c_TypeSafe__Mirabelle__gbqmebzphd_Osconf_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa1166768941_sconf) = typeSa1166768941_sconf,
    file('theBenchmark.p',tsy_c_TypeSafe__Mirabelle__gbqmebzphd_Osconf_res) ).

fof(tsy_c_Type_OObject_res,axiom,
    ti(list(char),object) = object,
    file('theBenchmark.p',tsy_c_Type_OObject_res) ).

fof(tsy_c_Type_Ois__refT_res,axiom,
    ti(fun(ty,bool),is_refT) = is_refT,
    file('theBenchmark.p',tsy_c_Type_Ois__refT_res) ).

fof(tsy_c_Type_Othis_res,axiom,
    ti(list(char),this) = this,
    file('theBenchmark.p',tsy_c_Type_Othis_res) ).

fof(tsy_c_Type_Oty_OClass_res,axiom,
    ti(fun(list(char),ty),class) = class,
    file('theBenchmark.p',tsy_c_Type_Oty_OClass_res) ).

fof(tsy_c_Type_Oty_ONT_res,axiom,
    ti(ty,nt) = nt,
    file('theBenchmark.p',tsy_c_Type_Oty_ONT_res) ).

fof(tsy_c_Type_Oty_OVoid_res,axiom,
    ti(ty,void) = void,
    file('theBenchmark.p',tsy_c_Type_Oty_OVoid_res) ).

fof(tsy_c_Type_Oty_Oty__case_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))))),ty_case(X_a)) = ty_case(X_a),
    file('theBenchmark.p',tsy_c_Type_Oty_Oty__case_res) ).

fof(tsy_c_Value_Oval_OAddr_res,axiom,
    ti(fun(nat,val),addr) = addr,
    file('theBenchmark.p',tsy_c_Value_Oval_OAddr_res) ).

fof(tsy_c_Value_Oval_OBool_res,axiom,
    ti(fun(bool,val),bool_1) = bool_1,
    file('theBenchmark.p',tsy_c_Value_Oval_OBool_res) ).

fof(tsy_c_Value_Oval_ONull_res,axiom,
    ti(val,null) = null,
    file('theBenchmark.p',tsy_c_Value_Oval_ONull_res) ).

fof(tsy_c_Value_Oval_OUnit_res,axiom,
    ti(val,unit) = unit,
    file('theBenchmark.p',tsy_c_Value_Oval_OUnit_res) ).

fof(tsy_c_WWellForm_Owwf__J__mdecl_res,axiom,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wwf_J_mdecl) = wwf_J_mdecl,
    file('theBenchmark.p',tsy_c_WWellForm_Owwf__J__mdecl_res) ).

fof(tsy_c_WellForm_Owf__cdecl_res,axiom,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool))),wf_cdecl(X_a)) = wf_cdecl(X_a),
    file('theBenchmark.p',tsy_c_WellForm_Owf__cdecl_res) ).

fof(tsy_c_WellForm_Owf__fdecl_res,axiom,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),ty),bool)),wf_fdecl(X_a)) = wf_fdecl(X_a),
    file('theBenchmark.p',tsy_c_WellForm_Owf__fdecl_res) ).

fof(tsy_c_WellForm_Owf__mdecl_res,axiom,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool)))),wf_mdecl(X_a)) = wf_mdecl(X_a),
    file('theBenchmark.p',tsy_c_WellForm_Owf__mdecl_res) ).

fof(tsy_c_WellForm_Owf__prog_res,axiom,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool)),wf_prog(X_a)) = wf_prog(X_a),
    file('theBenchmark.p',tsy_c_WellForm_Owf__prog_res) ).

fof(tsy_c_WellTypeRT_OWTrt_res,axiom,
    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_1) = wTrt_1,
    file('theBenchmark.p',tsy_c_WellTypeRT_OWTrt_res) ).

fof(tsy_c_WellTypeRT_OWTrts_res,axiom,
    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_1) = wTrts_1,
    file('theBenchmark.p',tsy_c_WellTypeRT_OWTrts_res) ).

fof(tsy_c_Wellfounded_Olex__prod_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool))),lex_prod(X_a,X_b)) = lex_prod(X_a,X_b),
    file('theBenchmark.p',tsy_c_Wellfounded_Olex__prod_res) ).

fof(tsy_c_fFalse_res,axiom,
    ti(bool,fFalse) = fFalse,
    file('theBenchmark.p',tsy_c_fFalse_res) ).

fof(tsy_c_fNot_res,axiom,
    ti(fun(bool,bool),fNot) = fNot,
    file('theBenchmark.p',tsy_c_fNot_res) ).

fof(tsy_c_fTrue_res,axiom,
    ti(bool,fTrue) = fTrue,
    file('theBenchmark.p',tsy_c_fTrue_res) ).

fof(tsy_c_fconj_res,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    file('theBenchmark.p',tsy_c_fconj_res) ).

fof(tsy_c_fdisj_res,axiom,
    ti(fun(bool,fun(bool,bool)),fdisj) = fdisj,
    file('theBenchmark.p',tsy_c_fdisj_res) ).

fof(tsy_c_fequal_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(X_a,bool)),fequal(X_a)) = fequal(X_a),
    file('theBenchmark.p',tsy_c_fequal_res) ).

fof(tsy_c_hAPP_arg1,axiom,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,ti(fun(X_a,X_c),B_1_1),B_2_1) = hAPP(X_a,X_c,B_1_1,B_2_1),
    file('theBenchmark.p',tsy_c_hAPP_arg1) ).

fof(tsy_c_hAPP_arg2,axiom,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,B_1_1,ti(X_a,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1),
    file('theBenchmark.p',tsy_c_hAPP_arg2) ).

fof(tsy_c_hAPP_res,axiom,
    ! [X_c,X_a,B_1_1,B_2_1] : ti(X_c,hAPP(X_a,X_c,B_1_1,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1),
    file('theBenchmark.p',tsy_c_hAPP_res) ).

fof(tsy_c_hBOOL_arg1,hypothesis,
    ! [B_1_1] :
      ( hBOOL(ti(bool,B_1_1))
    <=> hBOOL(B_1_1) ),
    file('theBenchmark.p',tsy_c_hBOOL_arg1) ).

fof(tsy_c_member_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(fun(X_a,bool),bool)),member(X_a)) = member(X_a),
    file('theBenchmark.p',tsy_c_member_res) ).

fof(tsy_v_E_____res,axiom,
    ti(fun(list(char),option(ty)),e) = e,
    file('theBenchmark.p',tsy_v_E_____res) ).

fof(tsy_v_P_res,hypothesis,
    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,
    file('theBenchmark.p',tsy_v_P_res) ).

fof(tsy_v_T_H_____res,axiom,
    ti(ty,t) = t,
    file('theBenchmark.p',tsy_v_T_H_____res) ).

fof(tsy_v_T_____res,axiom,
    ti(ty,t_1) = t_1,
    file('theBenchmark.p',tsy_v_T_____res) ).

fof(tsy_v_V_____res,hypothesis,
    ti(list(char),v_1) = v_1,
    file('theBenchmark.p',tsy_v_V_____res) ).

fof(tsy_v_e_Ha_____res,hypothesis,
    ti(exp(list(char)),e_a) = e_a,
    file('theBenchmark.p',tsy_v_e_Ha_____res) ).

fof(tsy_v_ea_____res,hypothesis,
    ti(exp(list(char)),ea) = ea,
    file('theBenchmark.p',tsy_v_ea_____res) ).

fof(tsy_v_h_Ha_____res,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    file('theBenchmark.p',tsy_v_h_Ha_____res) ).

fof(tsy_v_ha_____res,hypothesis,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    file('theBenchmark.p',tsy_v_ha_____res) ).

fof(tsy_v_l_Ha_____res,hypothesis,
    ti(fun(list(char),option(val)),l_a) = l_a,
    file('theBenchmark.p',tsy_v_l_Ha_____res) ).

fof(tsy_v_la_____res,hypothesis,
    ti(fun(list(char),option(val)),la) = la,
    file('theBenchmark.p',tsy_v_la_____res) ).

fof(tsy_v_v_H_____res,axiom,
    ti(val,v_2) = v_2,
    file('theBenchmark.p',tsy_v_v_H_____res) ).

fof(tsy_v_v_____res,hypothesis,
    ti(val,v) = v,
    file('theBenchmark.p',tsy_v_v_____res) ).

fof(fact_0_InitBlockRed_I3_J,axiom,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    file('theBenchmark.p',fact_0_InitBlockRed_I3_J) ).

fof(fact_1_InitBlockRed_I1_J,axiom,
    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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    file('theBenchmark.p',fact_1_InitBlockRed_I1_J) ).

fof(fact_2_fun__upd__triv,axiom,
    ! [X_b,X_a,F,X_1] : hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),hAPP(X_a,X_b,F,X_1)) = ti(fun(X_a,X_b),F),
    file('theBenchmark.p',fact_2_fun__upd__triv) ).

fof(fact_3_assms,axiom,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    file('theBenchmark.p',fact_3_assms) ).

fof(fact_4_map__upd__Some__unfold,axiom,
    ! [X_b,X_a,M_1,A_1,B,X_1,Y_1] :
      ( hAPP(X_b,option(X_a),hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),M_1),A_1),hAPP(X_a,option(X_a),some(X_a),B)),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_1)
    <=> ( ( hAPP(X_b,option(X_a),M_1,X_1) = hAPP(X_a,option(X_a),some(X_a),Y_1)
          & ti(X_b,X_1) != ti(X_b,A_1) )
        | ( ti(X_a,B) = ti(X_a,Y_1)
          & ti(X_b,X_1) = ti(X_b,A_1) ) ) ),
    file('theBenchmark.p',fact_4_map__upd__Some__unfold) ).

fof(fact_5_map__upd__triv,axiom,
    ! [X_b,X_a,T_7,K,X_1] :
      ( hAPP(X_b,option(X_a),T_7,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
     => hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),T_7),K),hAPP(X_a,option(X_a),some(X_a),X_1)) = ti(fun(X_b,option(X_a)),T_7) ),
    file('theBenchmark.p',fact_5_map__upd__triv) ).

fof(fact_6_map__upd__eqD1,axiom,
    ! [X_b,X_a,M_1,A_1,X_1,N,Y_1] :
      ( hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),X_1)) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),N),A_1),hAPP(X_b,option(X_b),some(X_b),Y_1))
     => ti(X_b,X_1) = ti(X_b,Y_1) ),
    file('theBenchmark.p',fact_6_map__upd__eqD1) ).

fof(fact_7_InitBlockRed_I2_J,axiom,
    ! [Ta,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(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v)))))
     => ( 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_1,p),ha),Ea),ea),Ta))
       => ? [T_9] :
            ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),T_9),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_1,p),h_a),Ea),e_a),T_9)) ) ) ),
    file('theBenchmark.p',fact_7_InitBlockRed_I2_J) ).

fof(fact_8_prod__induct6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa] :
      ( ! [A_3,B_3,C_7,D_7,E_4,F_3] : 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_3),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_3),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_7),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_7),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_3)))))))
     => 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)) ),
    file('theBenchmark.p',fact_8_prod__induct6) ).

fof(fact_9_prod__cases6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,Y] :
      ~ ! [A_3,B_3,C_7,D_7,E_4,F_3] : 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_3),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_3),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_7),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_7),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_3))))),
    file('theBenchmark.p',fact_9_prod__cases6) ).

fof(fact_10_prod__induct5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_1,Pa] :
      ( ! [A_3,B_3,C_7,D_7,E_4] : hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_3),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_3),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_7),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_7),E_4))))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,X_1)) ),
    file('theBenchmark.p',fact_10_prod__induct5) ).

fof(fact_11_prod__cases5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,Y] :
      ~ ! [A_3,B_3,C_7,D_7,E_4] : ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),Y) != hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_3),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_3),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_7),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_7),E_4)))),
    file('theBenchmark.p',fact_11_prod__cases5) ).

fof(fact_12_prod__induct4,axiom,
    ! [X_a,X_b,X_c,X_d,X_1,Pa] :
      ( ! [A_3,B_3,C_7,D_7] : 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_3),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_3),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_7),D_7)))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1)) ),
    file('theBenchmark.p',fact_12_prod__induct4) ).

fof(fact_13_prod__cases4,axiom,
    ! [X_a,X_b,X_c,X_d,Y] :
      ~ ! [A_3,B_3,C_7,D_7] : 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_3),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_3),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_7),D_7))),
    file('theBenchmark.p',fact_13_prod__cases4) ).

fof(fact_14_InitBlockRed_I4_J,axiom,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),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))),ha),la))),
    file('theBenchmark.p',fact_14_InitBlockRed_I4_J) ).

fof(fact_15_Pair__inject,axiom,
    ! [X_b,X_a,A_5,B_2,A_6,B_5] :
      ( 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_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_6),B_5)
     => ~ ( ti(X_a,A_5) = ti(X_a,A_6)
         => ti(X_b,B_2) != ti(X_b,B_5) ) ),
    file('theBenchmark.p',fact_15_Pair__inject) ).

fof(fact_16_Pair__eq,axiom,
    ! [X_b,X_a,A_1,B,A_4,B_4] :
      ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4)
    <=> ( ti(X_b,B) = ti(X_b,B_4)
        & ti(X_a,A_1) = ti(X_a,A_4) ) ),
    file('theBenchmark.p',fact_16_Pair__eq) ).

fof(fact_17_split__paired__All,axiom,
    ! [X_a,X_b,Pa] :
      ( ! [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
    <=> ! [A_3,B_3] : 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_3),B_3))) ),
    file('theBenchmark.p',fact_17_split__paired__All) ).

fof(fact_18_fun__upd__def,axiom,
    ! [X_b,X_a,F,B,A_1,X_2] :
      ( ( ti(X_a,X_2) != ti(X_a,A_1)
       => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),A_1),B),X_2) = hAPP(X_a,X_b,F,X_2) )
      & ( ti(X_a,X_2) = ti(X_a,A_1)
       => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),A_1),B),X_2) = ti(X_b,B) ) ),
    file('theBenchmark.p',fact_18_fun__upd__def) ).

fof(fact_19_fun__upd__idem,axiom,
    ! [X_b,X_a,F,X_1,Y_1] :
      ( hAPP(X_b,X_a,F,X_1) = ti(X_a,Y_1)
     => hAPP(X_a,fun(X_b,X_a),hAPP(X_b,fun(X_a,fun(X_b,X_a)),hAPP(fun(X_b,X_a),fun(X_b,fun(X_a,fun(X_b,X_a))),fun_upd(X_b,X_a),F),X_1),Y_1) = ti(fun(X_b,X_a),F) ),
    file('theBenchmark.p',fact_19_fun__upd__idem) ).

fof(fact_20_fun__upd__other,axiom,
    ! [X_b,X_a,F,Y_1,Z_1,X_1] :
      ( ti(X_a,Z_1) != ti(X_a,X_1)
     => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = hAPP(X_a,X_b,F,Z_1) ),
    file('theBenchmark.p',fact_20_fun__upd__other) ).

fof(fact_21_fun__upd__twist,axiom,
    ! [X_b,X_a,M_1,B,D,A_1,C] :
      ( ti(X_a,A_1) != ti(X_a,C)
     => hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),M_1),A_1),B)),C),D) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),M_1),C),D)),A_1),B) ),
    file('theBenchmark.p',fact_21_fun__upd__twist) ).

fof(fact_22_fun__upd__apply,axiom,
    ! [X_b,X_a,F,Y_1,Z_1,X_1] :
      ( ( ti(X_a,Z_1) != ti(X_a,X_1)
       => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = hAPP(X_a,X_b,F,Z_1) )
      & ( ti(X_a,Z_1) = ti(X_a,X_1)
       => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = ti(X_b,Y_1) ) ),
    file('theBenchmark.p',fact_22_fun__upd__apply) ).

fof(fact_23_fun__upd__same,axiom,
    ! [X_b,X_a,F,X_1,Y_1] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),hAPP(X_b,fun(X_a,fun(X_b,X_a)),hAPP(fun(X_b,X_a),fun(X_b,fun(X_a,fun(X_b,X_a))),fun_upd(X_b,X_a),F),X_1),Y_1),X_1) = ti(X_a,Y_1),
    file('theBenchmark.p',fact_23_fun__upd__same) ).

fof(fact_24_fun__upd__upd,axiom,
    ! [X_b,X_a,F,X_1,Y_1,Z_1] : hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1)),X_1),Z_1) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Z_1),
    file('theBenchmark.p',fact_24_fun__upd__upd) ).

fof(fact_25_fun__upd__idem__iff,axiom,
    ! [X_b,X_a,F,X_1,Y_1] :
      ( hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1) = ti(fun(X_a,X_b),F)
    <=> hAPP(X_a,X_b,F,X_1) = ti(X_b,Y_1) ),
    file('theBenchmark.p',fact_25_fun__upd__idem__iff) ).

fof(fact_26_widen__refl,axiom,
    ! [X_m,P,T_3] : hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))))),fun(ty,fun(ty,bool)),widen(X_m),P),T_3),T_3)),
    file('theBenchmark.p',fact_26_widen__refl) ).

fof(fact_27_red__preserves__hconf,axiom,
    ! [Ea,Ta,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1,Pa),Hb),Ea),Eb),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),Hb))
         => 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_b)) ) ) ),
    file('theBenchmark.p',fact_27_red__preserves__hconf) ).

fof(fact_28_red__preserves__lconf,axiom,
    ! [Ea,Ta,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1,Pa),Hb),Ea),Eb),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),Hb),Lb),Ea))
         => 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_b),L_b),Ea)) ) ) ),
    file('theBenchmark.p',fact_28_red__preserves__lconf) ).

fof(fact_29_prod__cases3,axiom,
    ! [X_a,X_b,X_c,Y] :
      ~ ! [A_3,B_3,C_7] : 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_3),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_3),C_7)),
    file('theBenchmark.p',fact_29_prod__cases3) ).

fof(fact_30_prod__induct3,axiom,
    ! [X_a,X_b,X_c,X_1,Pa] :
      ( ! [A_3,B_3,C_7] : 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_3),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_3),C_7))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,X_1)) ),
    file('theBenchmark.p',fact_30_prod__induct3) ).

fof(fact_31_red__preserves__sconf,axiom,
    ! [Ea,Ta,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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_1,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),Ea),Eb),Ta))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S_3)) ) ) ),
    file('theBenchmark.p',fact_31_red__preserves__sconf) ).

fof(fact_32_prod_Orecs,axiom,
    ! [X_b,X_c,X_a,F1_1,A_1,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_1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1_1,A_1),B),
    file('theBenchmark.p',fact_32_prod_Orecs) ).

fof(fact_33_pred__equals__eq2,axiom,
    ! [X_a,X_b,S_2,R_1] :
      ( ! [X_2,Xa] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),R_1))
        <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),S_2)) )
    <=> ti(fun(product_prod(X_a,X_b),bool),R_1) = ti(fun(product_prod(X_a,X_b),bool),S_2) ),
    file('theBenchmark.p',fact_33_pred__equals__eq2) ).

fof(fact_34_prod_Oexhaust,axiom,
    ! [X_a,X_b,Y] :
      ~ ! [A_3,B_3] : 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_3),B_3),
    file('theBenchmark.p',fact_34_prod_Oexhaust) ).

fof(fact_35_PairE,axiom,
    ! [X_a,X_b,P_2] :
      ~ ! [X_2,Y_2] : ti(product_prod(X_a,X_b),P_2) != hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2),
    file('theBenchmark.p',fact_35_PairE) ).

fof(fact_36_split__paired__Ex,axiom,
    ! [X_a,X_b,Pa] :
      ( ? [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
    <=> ? [A_3,B_3] : 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_3),B_3))) ),
    file('theBenchmark.p',fact_36_split__paired__Ex) ).

fof(fact_37_internal__split__conv,axiom,
    ! [X_b,X_c,X_a,C,A_1,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),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_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),C,A_1),B),
    file('theBenchmark.p',fact_37_internal__split__conv) ).

fof(fact_38_widen__trans,axiom,
    ! [X_a,T_3,P,S_6,U_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_6),U_1))
     => ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),U_1),T_3))
       => hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_6),T_3)) ) ),
    file('theBenchmark.p',fact_38_widen__trans) ).

fof(fact_39_InitBlockRed_I5_J,axiom,
    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_1,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    file('theBenchmark.p',fact_39_InitBlockRed_I5_J) ).

fof(fact_40_sconf__def,axiom,
    ! [Pa,Ea,S] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
    <=> hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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))),Ea))),S)) ),
    file('theBenchmark.p',fact_40_sconf__def) ).

fof(fact_41_red__hext__incr,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,Hb),H_b)) ),
    file('theBenchmark.p',fact_41_red__hext__incr) ).

fof(fact_42_curry__def,axiom,
    ! [X_b,X_c,X_a,X_2,Xa,Xb] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),X_2),Xa),Xb) = hAPP(product_prod(X_a,X_b),X_c,X_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),Xa),Xb)),
    file('theBenchmark.p',fact_42_curry__def) ).

fof(fact_43_red__preserves__defass,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),Eb),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb))))
         => hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),E_b),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b)))) ) ) ),
    file('theBenchmark.p',fact_43_red__preserves__defass) ).

fof(fact_44_option_Oinject,axiom,
    ! [X_a,A_1,A_4] :
      ( hAPP(X_a,option(X_a),some(X_a),A_1) = hAPP(X_a,option(X_a),some(X_a),A_4)
    <=> ti(X_a,A_1) = ti(X_a,A_4) ),
    file('theBenchmark.p',fact_44_option_Oinject) ).

fof(fact_45_curryI,axiom,
    ! [X_a,X_b,F,A_1,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_1),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_1),B)) ),
    file('theBenchmark.p',fact_45_curryI) ).

fof(fact_46_red__lcl__add,axiom,
    ! [L_0,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),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))),Hb),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),Lb)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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_b))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_46_red__lcl__add) ).

fof(fact_47_lconf__upd,axiom,
    ! [X_a,Va_1,Va,Ta,Pa,Hb,Lb,Ea] :
      ( 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),Hb),Lb),Ea))
     => ( 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),Hb),Va),Ta))
       => ( hAPP(list(char),option(ty),Ea,Va_1) = hAPP(ty,option(ty),some(ty),Ta)
         => hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))),Ea)) ) ) ),
    file('theBenchmark.p',fact_47_lconf__upd) ).

fof(fact_48_lconf__upd2,axiom,
    ! [X_a,Va_1,Va,Ta,Pa,Hb,Lb,Ea] :
      ( 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),Hb),Lb),Ea))
     => ( 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),Hb),Va),Ta))
       => hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta)))) ) ),
    file('theBenchmark.p',fact_48_lconf__upd2) ).

fof(fact_49_in__lex__prod,axiom,
    ! [X_a,X_b,A_1,B,A_4,B_4,R_2,S] :
      ( 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)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4))),hAPP(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool)),lex_prod(X_a,X_b),R_2),S)))
    <=> ( ( hBOOL(hAPP(fun(product_prod(X_b,X_b),bool),bool,hAPP(product_prod(X_b,X_b),fun(fun(product_prod(X_b,X_b),bool),bool),member(product_prod(X_b,X_b)),hAPP(X_b,product_prod(X_b,X_b),hAPP(X_b,fun(X_b,product_prod(X_b,X_b)),product_Pair(X_b,X_b),B),B_4)),S))
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | 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_1),A_4)),R_2)) ) ),
    file('theBenchmark.p',fact_49_in__lex__prod) ).

fof(fact_50_prod__caseI,axiom,
    ! [X_b,X_a,F1_1,A_1,B] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F1_1,A_1),B))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),F1_1),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B))) ),
    file('theBenchmark.p',fact_50_prod__caseI) ).

fof(fact_51_splitI,axiom,
    ! [X_b,X_a,F,A_1,B] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,A_1),B))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(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_1),B))) ),
    file('theBenchmark.p',fact_51_splitI) ).

fof(fact_52_conf__hext,axiom,
    ! [X_a,Pa,Va,Ta,Hb,H_b] :
      ( 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,Hb),H_b))
     => ( 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),Hb),Va),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_b),Va),Ta)) ) ),
    file('theBenchmark.p',fact_52_conf__hext) ).

fof(fact_53_conf__upd__obj,axiom,
    ! [X_a,Pa,Fs_2,X_1,Ta,Hb,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
     => ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))),X_1),Ta))
      <=> hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),X_1),Ta)) ) ),
    file('theBenchmark.p',fact_53_conf__upd__obj) ).

fof(fact_54_map__add__dom__app__simps_I1_J,axiom,
    ! [X_a,X_b,L1,M_1,L2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L2)))
     => hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L2,M_1) ),
    file('theBenchmark.p',fact_54_map__add__dom__app__simps_I1_J) ).

fof(fact_55_split__weak__cong,axiom,
    ! [X_c,X_a,X_b,C,P_1,Q_2] :
      ( ti(product_prod(X_a,X_b),P_1) = ti(product_prod(X_a,X_b),Q_2)
     => hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),C),P_1) = hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),C),Q_2) ),
    file('theBenchmark.p',fact_55_split__weak__cong) ).

fof(fact_56_map__add__dom__app__simps_I3_J,axiom,
    ! [X_a,X_b,L1,M_1,L2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L2)))
     => hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L1,M_1) ),
    file('theBenchmark.p',fact_56_map__add__dom__app__simps_I3_J) ).

fof(fact_57_map__add__dom__app__simps_I2_J,axiom,
    ! [X_a,X_b,L2,M_1,L1] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L1)))
     => hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L2,M_1) ),
    file('theBenchmark.p',fact_57_map__add__dom__app__simps_I2_J) ).

fof(fact_58_map__add__assoc,axiom,
    ! [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),
    file('theBenchmark.p',fact_58_map__add__assoc) ).

fof(fact_59_split__twice,axiom,
    ! [X_b,X_c,X_a,X_d,X_e,F,G,P_1] : 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_case(X_b,X_c,X_a),F),hAPP(product_prod(X_d,X_e),product_prod(X_b,X_c),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(product_prod(X_d,X_e),product_prod(X_b,X_c)),product_prod_case(X_d,X_e,product_prod(X_b,X_c)),G),P_1)) = hAPP(product_prod(X_d,X_e),X_a,hAPP(fun(X_d,fun(X_e,X_a)),fun(product_prod(X_d,X_e),X_a),product_prod_case(X_d,X_e,X_a),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a)),hAPP(fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),fun(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a))),combb(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a),X_d),hAPP(fun(product_prod(X_b,X_c),X_a),fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),combb(product_prod(X_b,X_c),X_a,X_e),hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F))),G)),P_1),
    file('theBenchmark.p',fact_59_split__twice) ).

fof(fact_60_split__curry,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),F)) = ti(fun(product_prod(X_a,X_b),X_c),F),
    file('theBenchmark.p',fact_60_split__curry) ).

fof(fact_61_curry__split,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F)) = ti(fun(X_a,fun(X_b,X_c)),F),
    file('theBenchmark.p',fact_61_curry__split) ).

fof(fact_62_split__part,axiom,
    ! [X_a,X_b,Pa,Q_1,X_2] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,bool),fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),combb(fun(X_b,bool),fun(X_b,bool),X_a),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fconj,Pa))),Q_1)),X_2))
    <=> ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Q_1),X_2))
        & hBOOL(Pa) ) ),
    file('theBenchmark.p',fact_62_split__part) ).

fof(fact_63_red__reds_ORedInitBlock,axiom,
    ! [Va_1,Ta,Va,U,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(val,exp(list(char)),val_1(list(char)),U)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),U)),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))),
    file('theBenchmark.p',fact_63_red__reds_ORedInitBlock) ).

fof(fact_64_conf__widen,axiom,
    ! [X_a,T_a,Pa,Hb,Va,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),Hb),Va),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_a))
       => 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),Hb),Va),T_a)) ) ),
    file('theBenchmark.p',fact_64_conf__widen) ).

fof(fact_65_splitD,axiom,
    ! [X_a,X_b,F,A_1,B] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(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_1),B)))
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,A_1),B)) ),
    file('theBenchmark.p',fact_65_splitD) ).

fof(fact_66_lconf__hext,axiom,
    ! [X_a,H_b,Pa,Hb,Lb,Ea] :
      ( 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),Hb),Lb),Ea))
     => ( 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,Hb),H_b))
       => 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_b),Lb),Ea)) ) ),
    file('theBenchmark.p',fact_66_lconf__hext) ).

fof(fact_67_red__reds_ORedSeq,axiom,
    ! [Va,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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))),
    file('theBenchmark.p',fact_67_red__reds_ORedSeq) ).

fof(fact_68_map__add__upd__left,axiom,
    ! [X_a,X_b,E1,U1,M_1,E2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),E2)))
     => 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(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),E1),M_1),hAPP(X_b,option(X_b),some(X_b),U1))),E2) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),E1),E2)),M_1),hAPP(X_b,option(X_b),some(X_b),U1)) ),
    file('theBenchmark.p',fact_68_map__add__upd__left) ).

fof(fact_69_red__reds_ORedBlock,axiom,
    ! [Va_1,Ta,U,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(val,exp(list(char)),val_1(list(char)),U))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),U)),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))),
    file('theBenchmark.p',fact_69_red__reds_ORedBlock) ).

fof(fact_70_domI,axiom,
    ! [X_b,X_a,M_1,A_1,B] :
      ( hAPP(X_b,option(X_a),M_1,A_1) = hAPP(X_a,option(X_a),some(X_a),B)
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_1),hAPP(fun(X_b,option(X_a)),fun(X_b,bool),dom(X_b,X_a),M_1))) ),
    file('theBenchmark.p',fact_70_domI) ).

fof(fact_71_red__reds_OInitBlockRed,axiom,
    ! [Ta,V_a,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = hAPP(val,option(val),some(val),V_a)
       => 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V_a))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ),
    file('theBenchmark.p',fact_71_red__reds_OInitBlockRed) ).

fof(fact_72_prod_Osimps_I2_J,axiom,
    ! [X_b,X_c,X_a,F1_1,A_1,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_case(X_b,X_c,X_a),F1_1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1_1,A_1),B),
    file('theBenchmark.p',fact_72_prod_Osimps_I2_J) ).

fof(fact_73_split__conv,axiom,
    ! [X_b,X_c,X_a,F,A_1,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_case(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_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F,A_1),B),
    file('theBenchmark.p',fact_73_split__conv) ).

fof(fact_74_map__add__find__right,axiom,
    ! [X_b,X_a,M_1,N,K,Xx] :
      ( hAPP(X_b,option(X_a),N,K) = hAPP(X_a,option(X_a),some(X_a),Xx)
     => hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = hAPP(X_a,option(X_a),some(X_a),Xx) ),
    file('theBenchmark.p',fact_74_map__add__find__right) ).

fof(fact_75_ext,axiom,
    ! [X_a,X_b,F,G] :
      ( ! [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) ),
    file('theBenchmark.p',fact_75_ext) ).

fof(fact_76_mem__def,axiom,
    ! [X_a,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
    <=> hBOOL(hAPP(X_a,bool,A_2,X_1)) ),
    file('theBenchmark.p',fact_76_mem__def) ).

fof(fact_77_Collect__def,axiom,
    ! [X_a,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa) = ti(fun(X_a,bool),Pa),
    file('theBenchmark.p',fact_77_Collect__def) ).

fof(fact_78_split__eta,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c)),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c),X_a),hAPP(fun(product_prod(X_a,X_b),X_c),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),combb(product_prod(X_a,X_b),X_c,X_b),F)),product_Pair(X_a,X_b))) = ti(fun(product_prod(X_a,X_b),X_c),F),
    file('theBenchmark.p',fact_78_split__eta) ).

fof(fact_79_red__reds_OLAssRed,axiom,
    ! [Va_1,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_79_red__reds_OLAssRed) ).

fof(fact_80_red__reds_OSeqRed,axiom,
    ! [E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_80_red__reds_OSeqRed) ).

fof(fact_81_curryE,axiom,
    ! [X_b,X_a,F,A_1,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_1),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_1),B))) ),
    file('theBenchmark.p',fact_81_curryE) ).

fof(fact_82_curryD,axiom,
    ! [X_b,X_a,F,A_1,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_1),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_1),B))) ),
    file('theBenchmark.p',fact_82_curryD) ).

fof(fact_83_map__add__upd,axiom,
    ! [X_a,X_b,F,G,X_1,Y_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),G),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1))) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F),G)),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1)),
    file('theBenchmark.p',fact_83_map__add__upd) ).

fof(fact_84_internal__split__def,axiom,
    ! [X_a,X_b,X_c] : produc1605651328_split(X_a,X_b,X_c) = product_prod_case(X_a,X_b,X_c),
    file('theBenchmark.p',fact_84_internal__split__def) ).

fof(fact_85_curry__conv,axiom,
    ! [X_c,X_a,X_b,F,A_1,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_1),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_1),B)),
    file('theBenchmark.p',fact_85_curry__conv) ).

fof(fact_86_WTrtBlock,axiom,
    ! [Pa,Hb,Ea,Va_1,Ta,Eb,T_a] :
      ( 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_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),Eb),T_a))
     => 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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),T_a)) ),
    file('theBenchmark.p',fact_86_WTrtBlock) ).

fof(fact_87_splitE,axiom,
    ! [X_a,X_b,C,P_1] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),C),P_1))
     => ~ ! [X_2,Y_2] :
            ( 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_2)
           => ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),C,X_2),Y_2)) ) ),
    file('theBenchmark.p',fact_87_splitE) ).

fof(fact_88_splitI2,axiom,
    ! [X_a,X_b,C,P_1] :
      ( ! [A_3,B_3] :
          ( 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),A_3),B_3)
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),C,A_3),B_3)) )
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),C),P_1)) ),
    file('theBenchmark.p',fact_88_splitI2) ).

fof(fact_89_WTrtSeq,axiom,
    ! [E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),T_1_1))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_2),T_2_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),T_2_2)) ) ),
    file('theBenchmark.p',fact_89_WTrtSeq) ).

fof(fact_90_lconf__def,axiom,
    ! [X_a,Pa,Hb,Lb,Ea] :
      ( 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),Hb),Lb),Ea))
    <=> ! [V_3,V] :
          ( hAPP(list(char),option(val),Lb,V_3) = hAPP(val,option(val),some(val),V)
         => ? [T_5] :
              ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),V),T_5))
              & hAPP(list(char),option(ty),Ea,V_3) = hAPP(ty,option(ty),some(ty),T_5) ) ) ),
    file('theBenchmark.p',fact_90_lconf__def) ).

fof(fact_91_red__reds_ORedLAss,axiom,
    ! [Va_1,Va,Hb,Lb,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))),
    file('theBenchmark.p',fact_91_red__reds_ORedLAss) ).

fof(fact_92_hext__refl,axiom,
    ! [Hb] : 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,Hb),Hb)),
    file('theBenchmark.p',fact_92_hext__refl) ).

fof(fact_93_cond__split__eta,axiom,
    ! [X_b,X_c,X_a,F,G] :
      ( ! [X_2,Y_2] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),F,X_2),Y_2) = hAPP(product_prod(X_a,X_b),X_c,G,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2))
     => hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F) = ti(fun(product_prod(X_a,X_b),X_c),G) ),
    file('theBenchmark.p',fact_93_cond__split__eta) ).

fof(fact_94_domD,axiom,
    ! [X_a,X_b,A_1,M_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1)))
     => ? [B_3] : hAPP(X_a,option(X_b),M_1,A_1) = hAPP(X_b,option(X_b),some(X_b),B_3) ),
    file('theBenchmark.p',fact_94_domD) ).

fof(fact_95_splitE2,axiom,
    ! [X_a,X_b,X_c,Q_1,Pa,Z_1] :
      ( hBOOL(hAPP(X_a,bool,Q_1,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_case(X_b,X_c,X_a),Pa),Z_1)))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_b,X_c),Z_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),X_2),Y_2)
           => ~ hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),Pa,X_2),Y_2))) ) ),
    file('theBenchmark.p',fact_95_splitE2) ).

fof(fact_96_WTrt__hext__mono,axiom,
    ! [H_b,Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),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,Hb),H_b))
       => 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_1,Pa),H_b),Ea),Eb),Ta)) ) ),
    file('theBenchmark.p',fact_96_WTrt__hext__mono) ).

fof(fact_97_mem__splitI,axiom,
    ! [X_a,X_c,X_b,Z_1,C,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),C,A_1),B)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),C),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_1),B)))) ),
    file('theBenchmark.p',fact_97_mem__splitI) ).

fof(fact_98_splitD_H,axiom,
    ! [X_c,X_a,X_b,R_1,A_1,B,C] :
      ( hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),R_1),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B)),C))
     => hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),R_1,A_1),B),C)) ),
    file('theBenchmark.p',fact_98_splitD_H) ).

fof(fact_99_hext__upd__obj,axiom,
    ! [Fs_2,Hb,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
     => 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,Hb),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2))))) ),
    file('theBenchmark.p',fact_99_hext__upd__obj) ).

fof(fact_100_hext__trans,axiom,
    ! [H_4,Hb,H_b] :
      ( 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,Hb),H_b))
     => ( 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_b),H_4))
       => 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,Hb),H_4)) ) ),
    file('theBenchmark.p',fact_100_hext__trans) ).

fof(fact_101_hext__objD,axiom,
    ! [A_1,C_1,Fs,Hb,H_b] :
      ( 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,Hb),H_b))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
       => ? [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,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_3)) ) ),
    file('theBenchmark.p',fact_101_hext__objD) ).

fof(fact_102_hext__def,axiom,
    ! [Hb,H_b] :
      ( 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,Hb),H_b))
    <=> ! [A_3,C_2,Fs_1] :
          ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_1))
         => ? [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_3)) ) ),
    file('theBenchmark.p',fact_102_hext__def) ).

fof(fact_103_mem__splitI2,axiom,
    ! [X_c,X_a,X_b,Z_1,C,P_1] :
      ( ! [A_3,B_3] :
          ( 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),A_3),B_3)
         => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_1),hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,A_3),B_3))) )
     => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_1),hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1))) ),
    file('theBenchmark.p',fact_103_mem__splitI2) ).

fof(fact_104_splitI2_H,axiom,
    ! [X_c,X_b,X_a,C,X_1,P_1] :
      ( ! [A_3,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_3),B_3) = ti(product_prod(X_a,X_b),P_1)
         => hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,A_3),B_3),X_1)) )
     => hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1),X_1)) ),
    file('theBenchmark.p',fact_104_splitI2_H) ).

fof(fact_105_mem__splitE,axiom,
    ! [X_a,X_b,X_c,Z_1,C,P_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),C),P_1)))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_b,X_c),P_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),X_2),Y_2)
           => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),C,X_2),Y_2))) ) ),
    file('theBenchmark.p',fact_105_mem__splitE) ).

fof(fact_106_splitE_H,axiom,
    ! [X_c,X_a,X_b,C,P_1,Z_1] :
      ( hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1),Z_1))
     => ~ ! [X_2,Y_2] :
            ( 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_2)
           => ~ hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,X_2),Y_2),Z_1)) ) ),
    file('theBenchmark.p',fact_106_splitE_H) ).

fof(fact_107__092_060D_062___092_060D_062s_Osimps_I6_J,axiom,
    ! [X_a,Va_1,Eb,A_2] :
      ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),Va_1),Eb)),A_2))
    <=> hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) ),
    file('theBenchmark.p',fact_107__092_060D_062___092_060D_062s_Osimps_I6_J) ).

fof(fact_108_exp_Osimps_I143_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_108_exp_Osimps_I143_J) ).

fof(fact_109_exp_Osimps_I196_J,axiom,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_109_exp_Osimps_I196_J) ).

fof(fact_110_exp_Osimps_I142_J,axiom,
    ! [X_a,A_5,Exp,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_110_exp_Osimps_I142_J) ).

fof(fact_111_exp_Osimps_I3_J,axiom,
    ! [X_a,Val_3,Val_2] :
      ( hAPP(val,exp(X_a),val_1(X_a),Val_3) = hAPP(val,exp(X_a),val_1(X_a),Val_2)
    <=> Val_3 = Val_2 ),
    file('theBenchmark.p',fact_111_exp_Osimps_I3_J) ).

fof(fact_112_exp_Osimps_I11_J,axiom,
    ! [X_a,Exp1_3,Exp2_3,Exp1_2,Exp2_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_2),Exp2_2)
    <=> ( Exp2_3 = Exp2_2
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_112_exp_Osimps_I11_J) ).

fof(fact_113_exp_Osimps_I6_J,axiom,
    ! [X_a,A_1,Exp_3,A_4,Exp_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_2)
    <=> ( Exp_3 = Exp_2
        & ti(X_a,A_1) = ti(X_a,A_4) ) ),
    file('theBenchmark.p',fact_113_exp_Osimps_I6_J) ).

fof(fact_114_exp_Osimps_I10_J,axiom,
    ! [X_a,A_1,Ty_3,Exp_3,A_4,Ty_2,Exp_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty_3),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_2),Exp_2)
    <=> ( Exp_3 = Exp_2
        & Ty_3 = Ty_2
        & ti(X_a,A_1) = ti(X_a,A_4) ) ),
    file('theBenchmark.p',fact_114_exp_Osimps_I10_J) ).

fof(fact_115_exp_Osimps_I84_J,axiom,
    ! [X_a,Val,Exp1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_115_exp_Osimps_I84_J) ).

fof(fact_116_exp_Osimps_I74_J,axiom,
    ! [X_a,Val,A_6,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    file('theBenchmark.p',fact_116_exp_Osimps_I74_J) ).

fof(fact_117_exp_Osimps_I85_J,axiom,
    ! [X_a,Exp1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_117_exp_Osimps_I85_J) ).

fof(fact_118_exp_Osimps_I75_J,axiom,
    ! [X_a,A_6,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_118_exp_Osimps_I75_J) ).

fof(fact_119_exp_Osimps_I82_J,axiom,
    ! [X_a,Val,A_6,Ty,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_119_exp_Osimps_I82_J) ).

fof(fact_120_exp_Osimps_I83_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_120_exp_Osimps_I83_J) ).

fof(fact_121__092_060D_062___092_060D_062s_Osimps_I3_J,axiom,
    ! [X_a,Va,A_2] : hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(val,exp(X_a),val_1(X_a),Va)),A_2)),
    file('theBenchmark.p',fact_121__092_060D_062___092_060D_062s_Osimps_I3_J) ).

fof(fact_122_exp_Osimps_I145_J,axiom,
    ! [X_a,Exp1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_122_exp_Osimps_I145_J) ).

fof(fact_123_exp_Osimps_I144_J,axiom,
    ! [X_a,A_5,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_123_exp_Osimps_I144_J) ).

fof(fact_124_exp_Osimps_I197_J,axiom,
    ! [X_a,Exp1,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    file('theBenchmark.p',fact_124_exp_Osimps_I197_J) ).

fof(fact_125_hconf__upd__obj,axiom,
    ! [X_a,Fs_2,A_1,C_1,Fs,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
       => ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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_2)))
         => 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2))))) ) ) ),
    file('theBenchmark.p',fact_125_hconf__upd__obj) ).

fof(fact_126_redp__redsp_OInitBlockRed,axiom,
    ! [Ta,V_a,Pa,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va)))),E_b),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_b),L_b)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = hAPP(val,option(val),some(val),V_a)
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V_a))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1))))) ) ),
    file('theBenchmark.p',fact_126_redp__redsp_OInitBlockRed) ).

fof(fact_127_red__reds_OBlockRedSome,axiom,
    ! [Ta,Va,Eb,Hb,Lb,Va_1,E_b,H_b,L_b,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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = hAPP(val,option(val),some(val),Va)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
         => 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ) ),
    file('theBenchmark.p',fact_127_red__reds_OBlockRedSome) ).

fof(fact_128_WTrtLAss,axiom,
    ! [Pa,Hb,Eb,T_a,Ea,Va_1,Ta] :
      ( hAPP(list(char),option(ty),Ea,Va_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_1,Pa),Hb),Ea),Eb),T_a))
       => ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_a),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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),void)) ) ) ),
    file('theBenchmark.p',fact_128_WTrtLAss) ).

fof(fact_129_LAssRedsVal,axiom,
    ! [Va_1,Eb,S,Va,H_b,L_b,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(val,option(val),some(val),Va)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    file('theBenchmark.p',fact_129_LAssRedsVal) ).

fof(fact_130_hextI,axiom,
    ! [H_b,Hb] :
      ( ! [A_3,C_2,Fs_1] :
          ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_1))
         => ? [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_3)) )
     => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Hb),H_b)) ),
    file('theBenchmark.p',fact_130_hextI) ).

fof(fact_131_redp__redsp_ORedLAss,axiom,
    ! [Pa,Va_1,Va,Hb,Lb] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),
    file('theBenchmark.p',fact_131_redp__redsp_ORedLAss) ).

fof(fact_132_red__lcl__incr,axiom,
    ! [Eb,H_0,L_0,E_b,H_1,L_1_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),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_0),L_0))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1))) ),
    file('theBenchmark.p',fact_132_red__lcl__incr) ).

fof(fact_133_oconf__upd__obj,axiom,
    ! [X_a,Fs_2,A_1,C_1,Fs,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
       => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))),Obj_1)) ) ),
    file('theBenchmark.p',fact_133_oconf__upd__obj) ).

fof(fact_134_lconf__empty,axiom,
    ! [X_a,Pa,Hb,Ea] : 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),Hb),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),Ea)),
    file('theBenchmark.p',fact_134_lconf__empty) ).

fof(fact_135_rev__predicate1D,axiom,
    ! [X_a,Q_1,Pa,X_1] :
      ( hBOOL(hAPP(X_a,bool,Pa,X_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ),
    file('theBenchmark.p',fact_135_rev__predicate1D) ).

fof(fact_136_predicate1D,axiom,
    ! [X_a,X_1,Pa,Q_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1))
     => ( hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ),
    file('theBenchmark.p',fact_136_predicate1D) ).

fof(fact_137_pred__subset__eq,axiom,
    ! [X_a,R_1,S_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),R_1),S_2)) ),
    file('theBenchmark.p',fact_137_pred__subset__eq) ).

fof(fact_138_option_Osimps_I2_J,axiom,
    ! [X_a,A_6] : none(X_a) != hAPP(X_a,option(X_a),some(X_a),A_6),
    file('theBenchmark.p',fact_138_option_Osimps_I2_J) ).

fof(fact_139_option_Osimps_I3_J,axiom,
    ! [X_a,A_6] : hAPP(X_a,option(X_a),some(X_a),A_6) != none(X_a),
    file('theBenchmark.p',fact_139_option_Osimps_I3_J) ).

fof(fact_140_not__Some__eq,axiom,
    ! [X_a,X_1] :
      ( ! [Y_2] : ti(option(X_a),X_1) != hAPP(X_a,option(X_a),some(X_a),Y_2)
    <=> ti(option(X_a),X_1) = none(X_a) ),
    file('theBenchmark.p',fact_140_not__Some__eq) ).

fof(fact_141_not__None__eq,axiom,
    ! [X_a,X_1] :
      ( ti(option(X_a),X_1) != none(X_a)
    <=> ? [Y_2] : ti(option(X_a),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_2) ),
    file('theBenchmark.p',fact_141_not__None__eq) ).

fof(fact_142_redp__redsp_OLAssRed,axiom,
    ! [Va_1,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3)) ),
    file('theBenchmark.p',fact_142_redp__redsp_OLAssRed) ).

fof(fact_143_redp__redsp_OSeqRed,axiom,
    ! [E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3)) ),
    file('theBenchmark.p',fact_143_redp__redsp_OSeqRed) ).

fof(fact_144_dom__def,axiom,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(option(X_b),fun(X_a,bool),hAPP(fun(X_a,fun(option(X_b),bool)),fun(option(X_b),fun(X_a,bool)),combc(X_a,option(X_b),bool),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),bool)),hAPP(fun(option(X_b),fun(option(X_b),bool)),fun(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),bool))),combb(option(X_b),fun(option(X_b),bool),X_a),fequal(option(X_b))),M_1)),none(X_b)))),
    file('theBenchmark.p',fact_144_dom__def) ).

fof(fact_145_domIff,axiom,
    ! [X_a,X_b,A_1,M_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1)))
    <=> hAPP(X_a,option(X_b),M_1,A_1) != none(X_b) ),
    file('theBenchmark.p',fact_145_domIff) ).

fof(fact_146_redp__redsp_OBlockRedNone,axiom,
    ! [Ta,Pa,Eb,Hb,Lb,Va_1,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val)))),E_b),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_b),L_b)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = none(val)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_b)),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1))))) ) ) ),
    file('theBenchmark.p',fact_146_redp__redsp_OBlockRedNone) ).

fof(fact_147_map__add__None,axiom,
    ! [X_b,X_a,M_1,N,K] :
      ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = none(X_a)
    <=> ( hAPP(X_b,option(X_a),M_1,K) = none(X_a)
        & hAPP(X_b,option(X_a),N,K) = none(X_a) ) ),
    file('theBenchmark.p',fact_147_map__add__None) ).

fof(fact_148_empty__upd__none,axiom,
    ! [X_a,X_b,X_1,X_2] : hAPP(X_a,option(X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),X_1),none(X_b)),X_2) = none(X_b),
    file('theBenchmark.p',fact_148_empty__upd__none) ).

fof(fact_149_map__add__empty,axiom,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M_1),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))) = ti(fun(X_a,option(X_b)),M_1),
    file('theBenchmark.p',fact_149_map__add__empty) ).

fof(fact_150_empty__map__add,axiom,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),M_1) = ti(fun(X_a,option(X_b)),M_1),
    file('theBenchmark.p',fact_150_empty__map__add) ).

fof(fact_151_redp__redsp_ORedSeq,axiom,
    ! [Pa,Va,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),E_2)),S),E_2),S)),
    file('theBenchmark.p',fact_151_redp__redsp_ORedSeq) ).

fof(fact_152_map__upd__nonempty,axiom,
    ! [X_a,X_b,T_7,K,X_1] :
      ~ ! [X_2] : hAPP(X_a,option(X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),T_7),K),hAPP(X_b,option(X_b),some(X_b),X_1)),X_2) = none(X_b),
    file('theBenchmark.p',fact_152_map__upd__nonempty) ).

fof(fact_153_redp__redsp_ORedBlock,axiom,
    ! [Pa,Va_1,Ta,U,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(val,exp(list(char)),val_1(list(char)),U))),S),hAPP(val,exp(list(char)),val_1(list(char)),U)),S)),
    file('theBenchmark.p',fact_153_redp__redsp_ORedBlock) ).

fof(fact_154_oconf__hext,axiom,
    ! [X_a,H_b,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_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,Hb),H_b))
       => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),H_b),Obj_1)) ) ),
    file('theBenchmark.p',fact_154_oconf__hext) ).

fof(fact_155_map__add__SomeD,axiom,
    ! [X_b,X_a,M_1,N,K,X_1] :
      ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = hAPP(X_a,option(X_a),some(X_a),X_1)
     => ( ( hAPP(X_b,option(X_a),M_1,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
          & hAPP(X_b,option(X_a),N,K) = none(X_a) )
        | hAPP(X_b,option(X_a),N,K) = hAPP(X_a,option(X_a),some(X_a),X_1) ) ),
    file('theBenchmark.p',fact_155_map__add__SomeD) ).

fof(fact_156_map__add__Some__iff,axiom,
    ! [X_b,X_a,M_1,N,K,X_1] :
      ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = hAPP(X_a,option(X_a),some(X_a),X_1)
    <=> ( ( hAPP(X_b,option(X_a),M_1,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
          & hAPP(X_b,option(X_a),N,K) = none(X_a) )
        | hAPP(X_b,option(X_a),N,K) = hAPP(X_a,option(X_a),some(X_a),X_1) ) ),
    file('theBenchmark.p',fact_156_map__add__Some__iff) ).

fof(fact_157_SeqReds,axiom,
    ! [E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_157_SeqReds) ).

fof(fact_158_LAssReds,axiom,
    ! [Va_1,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_158_LAssReds) ).

fof(fact_159_redp__redsp_OBlockRedSome,axiom,
    ! [Ta,Va,Pa,Eb,Hb,Lb,Va_1,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val)))),E_b),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_b),L_b)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = hAPP(val,option(val),some(val),Va)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1))))) ) ) ),
    file('theBenchmark.p',fact_159_redp__redsp_OBlockRedSome) ).

fof(fact_160_SeqReds2,axiom,
    ! [E_2,E_2_1,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)))),E_2_1),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_160_SeqReds2) ).

fof(fact_161_redp__red__eq,axiom,
    ! [Pa,X_2,Xa,Xb,Xc] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),X_2),Xa),Xb),Xc))
    <=> 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)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_161_redp__red__eq) ).

fof(fact_162_hconfD,axiom,
    ! [X_a,A_1,Obj_1,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)))),Obj_1)
       => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1)) ) ),
    file('theBenchmark.p',fact_162_hconfD) ).

fof(fact_163_redp__redsp_ORedInitBlock,axiom,
    ! [Pa,Va_1,Ta,Va,U,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(val,exp(list(char)),val_1(list(char)),U)))),S),hAPP(val,exp(list(char)),val_1(list(char)),U)),S)),
    file('theBenchmark.p',fact_163_redp__redsp_ORedInitBlock) ).

fof(fact_164_red__reds_OBlockRedNone,axiom,
    ! [Ta,Eb,Hb,Lb,Va_1,E_b,H_b,L_b,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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => ( hAPP(list(char),option(val),L_b,Va_1) = none(val)
       => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
         => 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_b)),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ) ),
    file('theBenchmark.p',fact_164_red__reds_OBlockRedNone) ).

fof(fact_165_Red__lcl__add,axiom,
    ! [L_0,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))),Eb),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))),Hb),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),Lb)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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_b))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    file('theBenchmark.p',fact_165_Red__lcl__add) ).

fof(fact_166_WTrt__elim__cases_I1_J,axiom,
    ! [Pa,Hb,Ea,Va,Eb,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va),Eb)),Ta))
     => ~ ( Ta = void
         => ! [T_5] :
              ( hAPP(list(char),option(ty),Ea,Va) = hAPP(ty,option(ty),some(ty),T_5)
             => ! [T_9] :
                  ( 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_1,Pa),Hb),Ea),Eb),T_9))
                 => ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_9),T_5)) ) ) ) ),
    file('theBenchmark.p',fact_166_WTrt__elim__cases_I1_J) ).

fof(fact_167_InitBlockReds,axiom,
    ! [Ta,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(option(val),val,the(val),hAPP(list(char),option(val),L_b,Va_1))))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_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)))) ),
    file('theBenchmark.p',fact_167_InitBlockReds) ).

fof(fact_168_InitBlockRedsFinal,axiom,
    ! [Ta,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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_b))
       => 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_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)))) ) ),
    file('theBenchmark.p',fact_168_InitBlockRedsFinal) ).

fof(fact_169_assigned__def,axiom,
    ! [Va_1,Eb] :
      ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
    <=> ? [V,E_1] : Eb = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V))),E_1) ),
    file('theBenchmark.p',fact_169_assigned__def) ).

fof(fact_170_rtrancl_Ortrancl__refl,axiom,
    ! [X_a,A_1,R_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_1),A_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))),
    file('theBenchmark.p',fact_170_rtrancl_Ortrancl__refl) ).

fof(fact_171_BlockRedsFinal,axiom,
    ! [Ta,H_0,L_0,Va_1,E_0,S_0,E_2,H_2,L_2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_0),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_2))
       => ( S_0 = 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_0),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0),Va_1),none(val)))
         => 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_0)),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_0),L_0))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_0,Va_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)))) ) ) ),
    file('theBenchmark.p',fact_171_BlockRedsFinal) ).

fof(fact_172_oconf__fupd,axiom,
    ! [X_a,Fs,Hb,Va,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_1),F_1),Ta),D_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),Hb),Va),Ta))
       => ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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)))
         => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va))))) ) ) ),
    file('theBenchmark.p',fact_172_oconf__fupd) ).

fof(fact_173_r__into__rtrancl,axiom,
    ! [X_a,P_1,R_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)),P_1),R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    file('theBenchmark.p',fact_173_r__into__rtrancl) ).

fof(fact_174_equalityI,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
       => ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1) ) ),
    file('theBenchmark.p',fact_174_equalityI) ).

fof(fact_175_subsetD,axiom,
    ! [X_a,C,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1)) ) ),
    file('theBenchmark.p',fact_175_subsetD) ).

fof(fact_176_rtrancl__mono,axiom,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),S))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S))) ),
    file('theBenchmark.p',fact_176_rtrancl__mono) ).

fof(fact_177_rtrancl__subset,axiom,
    ! [X_a,R_1,S_2] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),S_2))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),S_2),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
       => hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1) ) ),
    file('theBenchmark.p',fact_177_rtrancl__subset) ).

fof(fact_178_rtrancl__subset__rtrancl,axiom,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S)))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S))) ),
    file('theBenchmark.p',fact_178_rtrancl__subset__rtrancl) ).

fof(fact_179_the_Osimps,axiom,
    ! [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),
    file('theBenchmark.p',fact_179_the_Osimps) ).

fof(fact_180_subset__refl,axiom,
    ! [X_a,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),A_2)),
    file('theBenchmark.p',fact_180_subset__refl) ).

fof(fact_181_set__eq__subset,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
        & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ) ),
    file('theBenchmark.p',fact_181_set__eq__subset) ).

fof(fact_182_equalityD1,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    file('theBenchmark.p',fact_182_equalityD1) ).

fof(fact_183_equalityD2,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ),
    file('theBenchmark.p',fact_183_equalityD2) ).

fof(fact_184_in__mono,axiom,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ),
    file('theBenchmark.p',fact_184_in__mono) ).

fof(fact_185_set__rev__mp,axiom,
    ! [X_a,B_1,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ),
    file('theBenchmark.p',fact_185_set__rev__mp) ).

fof(fact_186_set__mp,axiom,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ),
    file('theBenchmark.p',fact_186_set__mp) ).

fof(fact_187_subset__trans,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1)) ) ),
    file('theBenchmark.p',fact_187_subset__trans) ).

fof(fact_188_equalityE,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
         => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ) ),
    file('theBenchmark.p',fact_188_equalityE) ).

fof(fact_189_hext__new,axiom,
    ! [X_1,Hb,A_1] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
     => 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,Hb),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1)))) ),
    file('theBenchmark.p',fact_189_hext__new) ).

fof(fact_190_rtrancl__idemp,axiom,
    ! [X_a,R_2] : 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_2)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2),
    file('theBenchmark.p',fact_190_rtrancl__idemp) ).

fof(fact_191_oconf__new,axiom,
    ! [X_a,X_1,A_1,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
       => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1))),Obj_1)) ) ),
    file('theBenchmark.p',fact_191_oconf__new) ).

fof(fact_192_hconf__new,axiom,
    ! [X_a,Obj_1,A_1,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
       => ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1))
         => 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),Obj_1)))) ) ) ),
    file('theBenchmark.p',fact_192_hconf__new) ).

fof(fact_193_converse__rtrancl__into__rtrancl,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_193_converse__rtrancl__into__rtrancl) ).

fof(fact_194_rtrancl_Ortrancl__into__rtrancl,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_194_rtrancl_Ortrancl__into__rtrancl) ).

fof(fact_195_rtrancl__trans,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_195_rtrancl__trans) ).

fof(fact_196_subsetI,axiom,
    ! [X_a,B_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    file('theBenchmark.p',fact_196_subsetI) ).

fof(fact_197_converse__rtranclE2,axiom,
    ! [X_a,X_b,Xa_1,Xb_1,Za,Zb,R_2] :
      ( 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_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_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),Xa_1),Xb_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)
       => ~ ! [A_3,B_3] :
              ( 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_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B_3))),R_2))
             => ~ 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_3),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),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_2))) ) ) ),
    file('theBenchmark.p',fact_197_converse__rtranclE2) ).

fof(fact_198_converse__rtrancl__induct2,axiom,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_2] :
      ( 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_2)))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By))
       => ( ! [A_3,B_3,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_3),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),Aa),Ba))),R_2))
             => ( 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_2)))
               => ( 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_3),B_3)) ) ) )
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay)) ) ) ),
    file('theBenchmark.p',fact_198_converse__rtrancl__induct2) ).

fof(fact_199_rtrancl__induct2,axiom,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_2] :
      ( 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_2)))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))
       => ( ! [A_3,B_3,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_3),B_3))),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_2)))
             => ( 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_3),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),Aa),Ba))),R_2))
               => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_3),B_3))
                 => 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)) ) ) ),
    file('theBenchmark.p',fact_199_rtrancl__induct2) ).

fof(fact_200_progress,axiom,
    ! [Lb,Ea,Eb,Ta,Hb,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( 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),Hb))
       => ( 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_1,Pa),Hb),Ea),Eb),Ta))
         => ( hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),Eb),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb))))
           => ( ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
             => ? [E_1,S_5] : 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ) ) ) ) ),
    file('theBenchmark.p',fact_200_progress) ).

fof(fact_201_option_Oexhaust,axiom,
    ! [X_a,Y] :
      ( ti(option(X_a),Y) != none(X_a)
     => ~ ! [A_3] : ti(option(X_a),Y) != hAPP(X_a,option(X_a),some(X_a),A_3) ),
    file('theBenchmark.p',fact_201_option_Oexhaust) ).

fof(fact_202_order__refl,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),X)) ),
    file('theBenchmark.p',fact_202_order__refl) ).

fof(fact_203_rtrancl__induct,axiom,
    ! [X_a,Pa,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
     => ( hBOOL(hAPP(X_a,bool,Pa,A_1))
       => ( ! [Y_2,Z] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_1),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Y_2),Z)),R_2))
               => ( hBOOL(hAPP(X_a,bool,Pa,Y_2))
                 => hBOOL(hAPP(X_a,bool,Pa,Z)) ) ) )
         => hBOOL(hAPP(X_a,bool,Pa,B)) ) ) ),
    file('theBenchmark.p',fact_203_rtrancl__induct) ).

fof(fact_204_pred__subset__eq2,axiom,
    ! [X_a,X_b,R_1,S_2] :
      ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),bool),ord_less_eq(fun(product_prod(X_a,X_b),bool)),R_1),S_2)) ),
    file('theBenchmark.p',fact_204_pred__subset__eq2) ).

fof(fact_205_linorder__le__cases,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) ) ),
    file('theBenchmark.p',fact_205_linorder__le__cases) ).

fof(fact_206_xt1_I6_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z_2,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),X)) ) ) ),
    file('theBenchmark.p',fact_206_xt1_I6_J) ).

fof(fact_207_xt1_I5_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
           => ti(X_a,X) = ti(X_a,Y) ) ) ),
    file('theBenchmark.p',fact_207_xt1_I5_J) ).

fof(fact_208_order__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_2,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z_2)) ) ) ),
    file('theBenchmark.p',fact_208_order__trans) ).

fof(fact_209_order__antisym,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
           => ti(X_a,X) = ti(X_a,Y) ) ) ),
    file('theBenchmark.p',fact_209_order__antisym) ).

fof(fact_210_xt1_I4_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_6,B_2,A_5] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),A_5))
         => ( ti(X_a,B_2) = ti(X_a,C_6)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),A_5)) ) ) ),
    file('theBenchmark.p',fact_210_xt1_I4_J) ).

fof(fact_211_ord__le__eq__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_6,A_5,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),B_2))
         => ( B_2 = C_6
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6)) ) ) ),
    file('theBenchmark.p',fact_211_ord__le__eq__trans) ).

fof(fact_212_xt1_I3_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_6,A_5,B_2] :
          ( ti(X_a,A_5) = ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),A_5)) ) ) ),
    file('theBenchmark.p',fact_212_xt1_I3_J) ).

fof(fact_213_ord__eq__le__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_6,A_5,B_2] :
          ( A_5 = B_2
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),C_6))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6)) ) ) ),
    file('theBenchmark.p',fact_213_ord__eq__le__trans) ).

fof(fact_214_order__antisym__conv,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Y_1,X_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
          <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ),
    file('theBenchmark.p',fact_214_order__antisym__conv) ).

fof(fact_215_order__eq__refl,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( X = Y
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ),
    file('theBenchmark.p',fact_215_order__eq__refl) ).

fof(fact_216_order__eq__iff,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X_1,Y_1] :
          ( ti(X_a,X_1) = ti(X_a,Y_1)
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1)) ) ) ),
    file('theBenchmark.p',fact_216_order__eq__iff) ).

fof(fact_217_linorder__linear,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ),
    file('theBenchmark.p',fact_217_linorder__linear) ).

fof(fact_218_le__funE,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [X_1,F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
         => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1))) ) ),
    file('theBenchmark.p',fact_218_le__funE) ).

fof(fact_219_le__funD,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [X_1,F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
         => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1))) ) ),
    file('theBenchmark.p',fact_219_le__funD) ).

fof(fact_220_le__fun__def,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
        <=> ! [X_2] : hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2))) ) ),
    file('theBenchmark.p',fact_220_le__fun__def) ).

fof(fact_221_wf__prog__wwf__prog,axiom,
    ! [Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),Pa))
     => hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    file('theBenchmark.p',fact_221_wf__prog__wwf__prog) ).

fof(fact_222_wf__mdecl__wwf__mdecl,axiom,
    ! [P,C_4,Md] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,P),C_4),Md))
     => hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wwf_J_mdecl,P),C_4),Md)) ),
    file('theBenchmark.p',fact_222_wf__mdecl__wwf__mdecl) ).

fof(fact_223_Red__fv,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_b)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb))) ) ),
    file('theBenchmark.p',fact_223_Red__fv) ).

fof(fact_224_rtranclE,axiom,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
     => ( ti(X_a,A_1) != ti(X_a,B)
       => ~ ! [Y_2] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_1),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Y_2),B)),R_2)) ) ) ),
    file('theBenchmark.p',fact_224_rtranclE) ).

fof(fact_225_converse__rtranclE,axiom,
    ! [X_a,X_1,Z_1,R_2] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
     => ( ti(X_a,X_1) != ti(X_a,Z_1)
       => ~ ! [Y_2] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_2)),R_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),Y_2),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ) ) ),
    file('theBenchmark.p',fact_225_converse__rtranclE) ).

fof(fact_226_converse__rtrancl__induct,axiom,
    ! [X_a,Pa,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
     => ( hBOOL(hAPP(X_a,bool,Pa,B))
       => ( ! [Y_2,Z] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R_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),Z),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
               => ( hBOOL(hAPP(X_a,bool,Pa,Z))
                 => hBOOL(hAPP(X_a,bool,Pa,Y_2)) ) ) )
         => hBOOL(hAPP(X_a,bool,Pa,A_1)) ) ) ),
    file('theBenchmark.p',fact_226_converse__rtrancl__induct) ).

fof(fact_227_le__funI,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [F,G] :
          ( ! [X_2] : hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2)))
         => hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G)) ) ),
    file('theBenchmark.p',fact_227_le__funI) ).

fof(fact_228_big__iff__small,axiom,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
      <=> ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
          & 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ) ),
    file('theBenchmark.p',fact_228_big__iff__small) ).

fof(fact_229_predicate2D,axiom,
    ! [X_a,X_b,X_1,Y_1,Pa,Q_1] :
      ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ),
    file('theBenchmark.p',fact_229_predicate2D) ).

fof(fact_230_rev__predicate2D,axiom,
    ! [X_b,X_a,Q_1,Pa,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
     => ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ),
    file('theBenchmark.p',fact_230_rev__predicate2D) ).

fof(fact_231_eval__notfree__unchanged,axiom,
    ! [Va_1,Pa,Eb,Hb,Lb,E_b,H_b,L_b] :
      ( 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),Eb),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))),Hb),Lb)),E_b),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_b),L_b)))
     => ( ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),Va_1),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)))
       => hAPP(list(char),option(val),L_b,Va_1) = hAPP(list(char),option(val),Lb,Va_1) ) ),
    file('theBenchmark.p',fact_231_eval__notfree__unchanged) ).

fof(fact_232_extend__1__eval,axiom,
    ! [E_b,S_3,Eb,S,E_5,S_4,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_5),S_4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_5),S_4),E_b),S_3))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3)) ) ) ),
    file('theBenchmark.p',fact_232_extend__1__eval) ).

fof(fact_233_big__by__small,axiom,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_233_big__by__small) ).

fof(fact_234_extend__eval,axiom,
    ! [E_b,S_3,Eb,S,E_5,S_4,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_5),S_4))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_5),S_4),E_b),S_3))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3)) ) ) ),
    file('theBenchmark.p',fact_234_extend__eval) ).

fof(fact_235_small__by__big,axiom,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
         => 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),Eb),S),E_b),S_3)) ) ) ),
    file('theBenchmark.p',fact_235_small__by__big) ).

fof(fact_236_LAss,axiom,
    ! [L_b,Va_1,Pa,Eb,S_0,Va,Hb,Lb] :
      ( 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),Hb),Lb)))
     => ( L_b = hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),L_b))) ) ),
    file('theBenchmark.p',fact_236_LAss) ).

fof(fact_237_Block,axiom,
    ! [Ta,Pa,E_0,H_0,L_0,Va_1,E_1_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_0),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_0),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0),Va_1),none(val)))),E_1_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_0)),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_0),L_0)),E_1_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(list(char),option(val),L_0,Va_1))))) ),
    file('theBenchmark.p',fact_237_Block) ).

fof(fact_238_eval__lcl__incr,axiom,
    ! [Pa,Eb,H_0,L_0,E_b,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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_0),L_0)),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
     => hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1))) ),
    file('theBenchmark.p',fact_238_eval__lcl__incr) ).

fof(fact_239_predicate2I,axiom,
    ! [X_b,X_a,Q_1,Pa] :
      ( ! [X_2,Y_2] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_2),Y_2))
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_2),Y_2)) )
     => hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1)) ),
    file('theBenchmark.p',fact_239_predicate2I) ).

fof(fact_240_eval__hext,axiom,
    ! [Pa,Eb,Hb,Lb,E_b,H_b,L_b] :
      ( 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),Eb),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))),Hb),Lb)),E_b),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_b),L_b)))
     => 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,Hb),H_b)) ),
    file('theBenchmark.p',fact_240_eval__hext) ).

fof(fact_241_Seq,axiom,
    ! [E_1_1,E_2,S_2_1,Pa,E_0,S_0,Va,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),E_0),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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),E_1_1),S_1),E_2),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_0),E_1_1)),S_0),E_2),S_2_1)) ) ),
    file('theBenchmark.p',fact_241_Seq) ).

fof(fact_242_Reds__dom__lcl,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)))) ) ),
    file('theBenchmark.p',fact_242_Reds__dom__lcl) ).

fof(fact_243_UnE,axiom,
    ! [X_a,C,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
     => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1)) ) ),
    file('theBenchmark.p',fact_243_UnE) ).

fof(fact_244_UnCI,axiom,
    ! [X_a,A_2,C,B_1] :
      ( ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ),
    file('theBenchmark.p',fact_244_UnCI) ).

fof(fact_245_sup1E,axiom,
    ! [X_a,A_2,B_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1))
     => ( ~ hBOOL(hAPP(X_a,bool,A_2,X_1))
       => hBOOL(hAPP(X_a,bool,B_1,X_1)) ) ),
    file('theBenchmark.p',fact_245_sup1E) ).

fof(fact_246_sup1CI,axiom,
    ! [X_a,A_2,B_1,X_1] :
      ( ( ~ hBOOL(hAPP(X_a,bool,B_1,X_1))
       => hBOOL(hAPP(X_a,bool,A_2,X_1)) )
     => hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1)) ),
    file('theBenchmark.p',fact_246_sup1CI) ).

fof(fact_247_Un__absorb,axiom,
    ! [X_a,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),A_2) = ti(fun(X_a,bool),A_2),
    file('theBenchmark.p',fact_247_Un__absorb) ).

fof(fact_248_Un__def,axiom,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B_1))),
    file('theBenchmark.p',fact_248_Un__def) ).

fof(fact_249_Un__commute,axiom,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),A_2),
    file('theBenchmark.p',fact_249_Un__commute) ).

fof(fact_250_Un__left__absorb,axiom,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),
    file('theBenchmark.p',fact_250_Un__left__absorb) ).

fof(fact_251_Un__left__commute,axiom,
    ! [X_a,A_2,B_1,C_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),C_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),C_1)),
    file('theBenchmark.p',fact_251_Un__left__commute) ).

fof(fact_252_Un__iff,axiom,
    ! [X_a,C,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2)) ) ),
    file('theBenchmark.p',fact_252_Un__iff) ).

fof(fact_253_Un__assoc,axiom,
    ! [X_a,A_2,B_1,C_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),C_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),C_1)),
    file('theBenchmark.p',fact_253_Un__assoc) ).

fof(fact_254_bex__Un,axiom,
    ! [X_a,Pa,A_2,B_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(X_a,bool,Pa,X_2))
          & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) )
    <=> ( ? [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
        | ? [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) ) ),
    file('theBenchmark.p',fact_254_bex__Un) ).

fof(fact_255_ball__Un,axiom,
    ! [X_a,Pa,A_2,B_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1))
           => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
        & ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
           => hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ),
    file('theBenchmark.p',fact_255_ball__Un) ).

fof(fact_256_UnI1,axiom,
    ! [X_a,B_1,C,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ),
    file('theBenchmark.p',fact_256_UnI1) ).

fof(fact_257_UnI2,axiom,
    ! [X_a,A_2,C,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ),
    file('theBenchmark.p',fact_257_UnI2) ).

fof(fact_258_Collect__disj__eq,axiom,
    ! [X_a,Pa,Q_1] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),Pa)),Q_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Q_1)),
    file('theBenchmark.p',fact_258_Collect__disj__eq) ).

fof(fact_259_sup__Un__eq,axiom,
    ! [X_a,R_1,S_2,X_2] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)),X_2))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),R_1),S_2))) ),
    file('theBenchmark.p',fact_259_sup__Un__eq) ).

fof(fact_260_sup1I1,axiom,
    ! [X_a,B_1,A_2,X_1] :
      ( hBOOL(hAPP(X_a,bool,A_2,X_1))
     => hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1)) ),
    file('theBenchmark.p',fact_260_sup1I1) ).

fof(fact_261_sup1I2,axiom,
    ! [X_a,A_2,B_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,B_1,X_1))
     => hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1)) ),
    file('theBenchmark.p',fact_261_sup1I2) ).

fof(fact_262_Un__upper1,axiom,
    ! [X_a,A_2,B_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))),
    file('theBenchmark.p',fact_262_Un__upper1) ).

fof(fact_263_Un__upper2,axiom,
    ! [X_a,B_1,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))),
    file('theBenchmark.p',fact_263_Un__upper2) ).

fof(fact_264_subset__Un__eq,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
    <=> hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),B_1) ),
    file('theBenchmark.p',fact_264_subset__Un__eq) ).

fof(fact_265_Un__absorb1,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),B_1) ),
    file('theBenchmark.p',fact_265_Un__absorb1) ).

fof(fact_266_Un__absorb2,axiom,
    ! [X_a,B_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
     => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),A_2) ),
    file('theBenchmark.p',fact_266_Un__absorb2) ).

fof(fact_267_Un__least,axiom,
    ! [X_a,B_1,A_2,C_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),C_1)) ) ),
    file('theBenchmark.p',fact_267_Un__least) ).

fof(fact_268_Un__mono,axiom,
    ! [X_a,B_1,D_2,A_2,C_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),D_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),C_1),D_2))) ) ),
    file('theBenchmark.p',fact_268_Un__mono) ).

fof(fact_269_dom__map__add,axiom,
    ! [X_a,X_b,M_1,N] : hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(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),M_1),N)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),N)),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1)),
    file('theBenchmark.p',fact_269_dom__map__add) ).

fof(fact_270_fv__fvs_Osimps_I11_J,axiom,
    ! [E_1_1,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    file('theBenchmark.p',fact_270_fv__fvs_Osimps_I11_J) ).

fof(fact_271_eval__cases_I2_J,axiom,
    ! [Pa,Va,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S),E_b),S_3))
     => ~ ( E_b = hAPP(val,exp(list(char)),val_1(list(char)),Va)
         => S_3 != S ) ),
    file('theBenchmark.p',fact_271_eval__cases_I2_J) ).

fof(fact_272_Val,axiom,
    ! [Pa,Va,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)),Va)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)),
    file('theBenchmark.p',fact_272_Val) ).

fof(fact_273_Red__dom__lcl,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)))) ),
    file('theBenchmark.p',fact_273_Red__dom__lcl) ).

fof(fact_274_eval__final,axiom,
    ! [Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b)) ),
    file('theBenchmark.p',fact_274_eval__final) ).

fof(fact_275_eval__finalId,axiom,
    ! [Pa,S,Eb] :
      ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
     => 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),Eb),S),Eb),S)) ),
    file('theBenchmark.p',fact_275_eval__finalId) ).

fof(fact_276_eval__cases_I8_J,axiom,
    ! [Pa,Va_1,Ta,E_1_1,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_1_1)),S),E_b),S_3))
     => ~ ! [H_0_1,L_0_1] :
            ( S = 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_0_1),L_0_1)
           => ! [H_1_1,L_1_2] :
                ( S_3 = hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_2),Va_1),hAPP(list(char),option(val),L_0_1,Va_1)))
               => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),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_0_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0_1),Va_1),none(val)))),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_2))) ) ) ),
    file('theBenchmark.p',fact_276_eval__cases_I8_J) ).

fof(fact_277_eval__restrict__lcl,axiom,
    ! [W,Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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))),Hb),Lb)),E_b),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_b),L_b)))
       => ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),W))
         => 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),Eb),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))),Hb),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))),restrict_map(list(char),val),Lb),W))),E_b),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_b),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))),restrict_map(list(char),val),L_b),W)))) ) ) ),
    file('theBenchmark.p',fact_277_eval__restrict__lcl) ).

fof(fact_278_sup__apply,axiom,
    ! [X_b,X_a] :
      ( lattice(X_a)
     => ! [F,G,X_1] : hAPP(X_b,X_a,hAPP(fun(X_b,X_a),fun(X_b,X_a),hAPP(fun(X_b,X_a),fun(fun(X_b,X_a),fun(X_b,X_a)),semilattice_sup_sup(fun(X_b,X_a)),F),G),X_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(X_b,X_a,G,X_1)) ),
    file('theBenchmark.p',fact_278_sup__apply) ).

fof(fact_279_sup__fun__def,axiom,
    ! [X_a,X_b] :
      ( lattice(X_b)
     => ! [F,G,X_2] : hAPP(X_a,X_b,hAPP(fun(X_a,X_b),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(X_a,X_b)),semilattice_sup_sup(fun(X_a,X_b)),F),G),X_2) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),semilattice_sup_sup(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2)) ),
    file('theBenchmark.p',fact_279_sup__fun__def) ).

fof(fact_280_FAssRedsVal,axiom,
    ! [F_1,D_2,C_1,Fs,E_2,Va,H_2,L_2,E_1_1,S_0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)),Va)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => ( hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_1),Fs)) = hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,A_1)
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),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)))) ) ) ),
    file('theBenchmark.p',fact_280_FAssRedsVal) ).

fof(fact_281_le__supE,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5,B_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),X))
         => ~ ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),X))
             => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X)) ) ) ),
    file('theBenchmark.p',fact_281_le__supE) ).

fof(fact_282_sup__mono,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [B_2,D_6,A_5,C_6] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),D_6))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),C_6),D_6))) ) ) ),
    file('theBenchmark.p',fact_282_sup__mono) ).

fof(fact_283_sup__Un__eq2,axiom,
    ! [X_b,X_a,R_1,S_2,X_2,Xa] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)),X_2),Xa))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),hAPP(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_b),bool)),R_1),S_2))) ),
    file('theBenchmark.p',fact_283_sup__Un__eq2) ).

fof(fact_284_restrict__in,axiom,
    ! [X_b,X_a,M_1,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_1) = hAPP(X_a,option(X_b),M_1,X_1) ),
    file('theBenchmark.p',fact_284_restrict__in) ).

fof(fact_285_exp_Osimps_I8_J,axiom,
    ! [X_a,Exp1_3,List1_3,List2_3,Exp2_3,Exp1_2,List1_2,List2_2,Exp2_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_3),List1_3),List2_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_2),List1_2),List2_2),Exp2_2)
    <=> ( Exp2_3 = Exp2_2
        & List2_3 = List2_2
        & List1_3 = List1_2
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_285_exp_Osimps_I8_J) ).

fof(fact_286_in__rtrancl__UnI,axiom,
    ! [X_a,S_2,X_1,R_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)),X_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_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)),X_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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)),X_1),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_2)))) ),
    file('theBenchmark.p',fact_286_in__rtrancl__UnI) ).

fof(fact_287_rtrancl__Un__rtrancl,axiom,
    ! [X_a,R_1,S_2] : 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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2))) = 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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_2)),
    file('theBenchmark.p',fact_287_rtrancl__Un__rtrancl) ).

fof(fact_288_redp__redsp_OFAssRed1,axiom,
    ! [F_1,D_2,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3)) ),
    file('theBenchmark.p',fact_288_redp__redsp_OFAssRed1) ).

fof(fact_289_exp_Osimps_I78_J,axiom,
    ! [X_a,Val,Exp1,List1_1,List2_1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_289_exp_Osimps_I78_J) ).

fof(fact_290_exp_Osimps_I79_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_290_exp_Osimps_I79_J) ).

fof(fact_291_restrict__out,axiom,
    ! [X_b,X_a,M_1,X_1,A_2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_1) = none(X_b) ),
    file('theBenchmark.p',fact_291_restrict__out) ).

fof(fact_292_restrict__map__def,axiom,
    ! [X_b,X_a,M_1,A_2,X_2] :
      ( ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
       => hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_2) = none(X_b) )
      & ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
       => hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_2) = hAPP(X_a,option(X_b),M_1,X_2) ) ),
    file('theBenchmark.p',fact_292_restrict__map__def) ).

fof(fact_293_exp_Osimps_I175_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_293_exp_Osimps_I175_J) ).

fof(fact_294_exp_Osimps_I138_J,axiom,
    ! [X_a,A_5,Exp,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_294_exp_Osimps_I138_J) ).

fof(fact_295_exp_Osimps_I174_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_295_exp_Osimps_I174_J) ).

fof(fact_296_exp_Osimps_I139_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_296_exp_Osimps_I139_J) ).

fof(fact_297_exp_Osimps_I173_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_297_exp_Osimps_I173_J) ).

fof(fact_298_exp_Osimps_I172_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_298_exp_Osimps_I172_J) ).

fof(fact_299_restrict__map__empty,axiom,
    ! [X_a,X_b,D_2,X_2] : hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),D_2),X_2) = none(X_b),
    file('theBenchmark.p',fact_299_restrict__map__empty) ).

fof(fact_300_redp__redsp_OFAssRed2,axiom,
    ! [Va,F_1,D_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3)) ),
    file('theBenchmark.p',fact_300_redp__redsp_OFAssRed2) ).

fof(fact_301_rtrancl__Un__subset,axiom,
    ! [X_a,R_1,S_2] : hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2))),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_2)))),
    file('theBenchmark.p',fact_301_rtrancl__Un__subset) ).

fof(fact_302_fv__fvs_Osimps_I8_J,axiom,
    ! [E_1_1,F_1,D_2,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    file('theBenchmark.p',fact_302_fv__fvs_Osimps_I8_J) ).

fof(fact_303_red__reds_OFAssRed1,axiom,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_303_red__reds_OFAssRed1) ).

fof(fact_304_sup_Oidem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),A_5) = ti(X_a,A_5) ),
    file('theBenchmark.p',fact_304_sup_Oidem) ).

fof(fact_305_sup__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),X) = ti(X_a,X) ),
    file('theBenchmark.p',fact_305_sup__idem) ).

fof(fact_306_sup_Ocommute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),A_5) ),
    file('theBenchmark.p',fact_306_sup_Ocommute) ).

fof(fact_307_inf__sup__aci_I5_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X) ),
    file('theBenchmark.p',fact_307_inf__sup__aci_I5_J) ).

fof(fact_308_sup__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X) ),
    file('theBenchmark.p',fact_308_sup__commute) ).

fof(fact_309_sup_Oleft__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2) ),
    file('theBenchmark.p',fact_309_sup_Oleft__idem) ).

fof(fact_310_inf__sup__aci_I8_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) ),
    file('theBenchmark.p',fact_310_inf__sup__aci_I8_J) ).

fof(fact_311_sup__left__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) ),
    file('theBenchmark.p',fact_311_sup__left__idem) ).

fof(fact_312_sup_Oleft__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [B_2,A_5,C_6] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),C_6)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_6)) ),
    file('theBenchmark.p',fact_312_sup_Oleft__commute) ).

fof(fact_313_inf__sup__aci_I7_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Z_2)) ),
    file('theBenchmark.p',fact_313_inf__sup__aci_I7_J) ).

fof(fact_314_sup__left__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Z_2)) ),
    file('theBenchmark.p',fact_314_sup__left__commute) ).

fof(fact_315_sup_Oassoc,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5,B_2,C_6] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),C_6) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_6)) ),
    file('theBenchmark.p',fact_315_sup_Oassoc) ).

fof(fact_316_inf__sup__aci_I6_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)),Z_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) ),
    file('theBenchmark.p',fact_316_inf__sup__aci_I6_J) ).

fof(fact_317_sup__assoc,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)),Z_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) ),
    file('theBenchmark.p',fact_317_sup__assoc) ).

fof(fact_318_red__reds_OFAssRed2,axiom,
    ! [Va,F_1,D_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_318_red__reds_OFAssRed2) ).

fof(fact_319_FAssReds1,axiom,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_319_FAssReds1) ).

fof(fact_320_FAssReds2,axiom,
    ! [Va,F_1,D_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_320_FAssReds2) ).

fof(fact_321_FAss,axiom,
    ! [H_2_1,Fs_2,F_1,D_2,C_1,Fs,E_2,Va,H_2,L_2,Pa,E_1_1,S_0,A_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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_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),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),Va)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
       => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
         => ( Fs_2 = hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va))
           => ( H_2_1 = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_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_2)))
             => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2_1),L_2))) ) ) ) ) ),
    file('theBenchmark.p',fact_321_FAss) ).

fof(fact_322_redp__redsp_ORedFAss,axiom,
    ! [Pa,F_1,D_2,Va,Lb,Hb,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),Lb))) ),
    file('theBenchmark.p',fact_322_redp__redsp_ORedFAss) ).

fof(fact_323_red__reds_ORedFAss,axiom,
    ! [F_1,D_2,Va,Lb,Pa,Hb,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_323_red__reds_ORedFAss) ).

fof(fact_324_inf__sup__ord_I3_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y))) ),
    file('theBenchmark.p',fact_324_inf__sup__ord_I3_J) ).

fof(fact_325_sup__ge1,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y))) ),
    file('theBenchmark.p',fact_325_sup__ge1) ).

fof(fact_326_inf__sup__ord_I4_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [Y,X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y))) ),
    file('theBenchmark.p',fact_326_inf__sup__ord_I4_J) ).

fof(fact_327_sup__ge2,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [Y,X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y))) ),
    file('theBenchmark.p',fact_327_sup__ge2) ).

fof(fact_328_le__iff__sup,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
        <=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1) = ti(X_a,Y_1) ) ),
    file('theBenchmark.p',fact_328_le__iff__sup) ).

fof(fact_329_le__sup__iff,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y_1,Z_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1)),Z_1))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),Z_1))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_1)) ) ) ),
    file('theBenchmark.p',fact_329_le__sup__iff) ).

fof(fact_330_le__supI1,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [B_2,X,A_5] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_5))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2))) ) ),
    file('theBenchmark.p',fact_330_le__supI1) ).

fof(fact_331_le__supI2,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_5,X,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2))) ) ),
    file('theBenchmark.p',fact_331_le__supI2) ).

fof(fact_332_sup__absorb2,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = ti(X_a,Y) ) ),
    file('theBenchmark.p',fact_332_sup__absorb2) ).

fof(fact_333_sup__absorb1,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = ti(X_a,X) ) ),
    file('theBenchmark.p',fact_333_sup__absorb1) ).

fof(fact_334_le__supI,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [B_2,A_5,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),X)) ) ) ),
    file('theBenchmark.p',fact_334_le__supI) ).

fof(fact_335_sup__least,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [Z_2,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),X))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)),X)) ) ) ),
    file('theBenchmark.p',fact_335_sup__least) ).

fof(fact_336_FAccRedsVal,axiom,
    ! [F_1,D_2,Va,C_1,Fs,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) = hAPP(val,option(val),some(val),Va)
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ) ),
    file('theBenchmark.p',fact_336_FAccRedsVal) ).

fof(fact_337_red__reds_ORedFAcc,axiom,
    ! [Pa,F_1,D_2,Va,S,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) = hAPP(val,option(val),some(val),Va)
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))) ) ),
    file('theBenchmark.p',fact_337_red__reds_ORedFAcc) ).

fof(fact_338_redp__redsp_ORedFAcc,axiom,
    ! [Pa,F_1,D_2,Va,S,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) = hAPP(val,option(val),some(val),Va)
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)) ) ),
    file('theBenchmark.p',fact_338_redp__redsp_ORedFAcc) ).

fof(fact_339_FAcc,axiom,
    ! [F_1,D_2,Va,C_1,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) = hAPP(val,option(val),some(val),Va)
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),Hb),Lb))) ) ) ),
    file('theBenchmark.p',fact_339_FAcc) ).

fof(fact_340_red__reds_OInitBlockThrow,axiom,
    ! [Va_1,Ta,Va,A_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_340_red__reds_OInitBlockThrow) ).

fof(fact_341_rtrancl__Un__separator__converseE,axiom,
    ! [X_a,A_1,B,Pa,Q_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_1),B)),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),Pa),Q_1))))
     => ( ! [X_2,Y_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa)))
           => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),X_2)),Q_1))
             => ti(X_a,Y_2) = ti(X_a,X_2) ) )
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa))) ) ),
    file('theBenchmark.p',fact_341_rtrancl__Un__separator__converseE) ).

fof(fact_342_sup2E,axiom,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1))
     => ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1)) ) ),
    file('theBenchmark.p',fact_342_sup2E) ).

fof(fact_343_sup2CI,axiom,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1)) )
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1)) ),
    file('theBenchmark.p',fact_343_sup2CI) ).

fof(fact_344_sup2I1,axiom,
    ! [X_b,X_a,B_1,A_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1))
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1)) ),
    file('theBenchmark.p',fact_344_sup2I1) ).

fof(fact_345_sup2I2,axiom,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1))
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1)) ),
    file('theBenchmark.p',fact_345_sup2I2) ).

fof(fact_346_exp_Osimps_I167_J,axiom,
    ! [X_a,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_346_exp_Osimps_I167_J) ).

fof(fact_347_exp_Osimps_I166_J,axiom,
    ! [X_a,Exp,List1,List2,Exp_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_347_exp_Osimps_I166_J) ).

fof(fact_348_exp_Osimps_I14_J,axiom,
    ! [X_a,Exp_3,Exp_2] :
      ( hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_3) = hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_2)
    <=> Exp_3 = Exp_2 ),
    file('theBenchmark.p',fact_348_exp_Osimps_I14_J) ).

fof(fact_349_exp_Osimps_I7_J,axiom,
    ! [X_a,Exp_3,List1_3,List2_3,Exp_2,List1_2,List2_2] :
      ( hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1_3),List2_3) = hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_2),List1_2),List2_2)
    <=> ( List2_3 = List2_2
        & List1_3 = List1_2
        & Exp_3 = Exp_2 ) ),
    file('theBenchmark.p',fact_349_exp_Osimps_I7_J) ).

fof(fact_350_redp__redsp_OFAccThrow,axiom,
    ! [Pa,Eb,F_1,D_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_350_redp__redsp_OFAccThrow) ).

fof(fact_351_eval__evals_OFAccThrow,axiom,
    ! [F_1,D_2,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_351_eval__evals_OFAccThrow) ).

fof(fact_352_eval__evals_OThrowThrow,axiom,
    ! [Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_352_eval__evals_OThrowThrow) ).

fof(fact_353_redp__redsp_OThrowThrow,axiom,
    ! [Pa,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_353_redp__redsp_OThrowThrow) ).

fof(fact_354_redp__redsp_OThrowRed,axiom,
    ! [Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3)) ),
    file('theBenchmark.p',fact_354_redp__redsp_OThrowRed) ).

fof(fact_355_fv__fvs_Osimps_I14_J,axiom,
    ! [Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    file('theBenchmark.p',fact_355_fv__fvs_Osimps_I14_J) ).

fof(fact_356_redp__redsp_OFAccRed,axiom,
    ! [F_1,D_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3)) ),
    file('theBenchmark.p',fact_356_redp__redsp_OFAccRed) ).

fof(fact_357_fv__fvs_Osimps_I7_J,axiom,
    ! [Eb,F_1,D_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    file('theBenchmark.p',fact_357_fv__fvs_Osimps_I7_J) ).

fof(fact_358_exp_Osimps_I91_J,axiom,
    ! [X_a,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_358_exp_Osimps_I91_J) ).

fof(fact_359_exp_Osimps_I90_J,axiom,
    ! [X_a,Val,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_359_exp_Osimps_I90_J) ).

fof(fact_360_exp_Osimps_I77_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Val] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_360_exp_Osimps_I77_J) ).

fof(fact_361_exp_Osimps_I76_J,axiom,
    ! [X_a,Val,Exp_1,List1_1,List2_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_361_exp_Osimps_I76_J) ).

fof(fact_362_exp_Osimps_I150_J,axiom,
    ! [X_a,A_5,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_362_exp_Osimps_I150_J) ).

fof(fact_363_exp_Osimps_I210_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_363_exp_Osimps_I210_J) ).

fof(fact_364_exp_Osimps_I151_J,axiom,
    ! [X_a,Exp_1,A_5,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_364_exp_Osimps_I151_J) ).

fof(fact_365_exp_Osimps_I211_J,axiom,
    ! [X_a,Exp_1,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_365_exp_Osimps_I211_J) ).

fof(fact_366_exp_Osimps_I181_J,axiom,
    ! [X_a,Exp_1,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_366_exp_Osimps_I181_J) ).

fof(fact_367_exp_Osimps_I180_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_367_exp_Osimps_I180_J) ).

fof(fact_368_exp_Osimps_I202_J,axiom,
    ! [X_a,A_5,Ty_1,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_368_exp_Osimps_I202_J) ).

fof(fact_369_exp_Osimps_I203_J,axiom,
    ! [X_a,Exp_1,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    file('theBenchmark.p',fact_369_exp_Osimps_I203_J) ).

fof(fact_370_red__reds_OFAccThrow,axiom,
    ! [Eb,F_1,D_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_370_red__reds_OFAccThrow) ).

fof(fact_371_exp_Osimps_I137_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,A_5,Exp] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_371_exp_Osimps_I137_J) ).

fof(fact_372_exp_Osimps_I160_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_372_exp_Osimps_I160_J) ).

fof(fact_373_exp_Osimps_I136_J,axiom,
    ! [X_a,A_5,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_373_exp_Osimps_I136_J) ).

fof(fact_374_exp_Osimps_I161_J,axiom,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_374_exp_Osimps_I161_J) ).

fof(fact_375_exp_Osimps_I154_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,List1_1,List2_1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_375_exp_Osimps_I154_J) ).

fof(fact_376_exp_Osimps_I155_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_376_exp_Osimps_I155_J) ).

fof(fact_377_exp_Osimps_I159_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_377_exp_Osimps_I159_J) ).

fof(fact_378_exp_Osimps_I158_J,axiom,
    ! [X_a,Exp,List1,List2,A_6,Ty,Exp_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_378_exp_Osimps_I158_J) ).

fof(fact_379__092_060D_062___092_060D_062s_Osimps_I14_J,axiom,
    ! [X_a,Eb,A_2] :
      ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),throw(X_a),Eb)),A_2))
    <=> hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) ),
    file('theBenchmark.p',fact_379__092_060D_062___092_060D_062s_Osimps_I14_J) ).

fof(fact_380__092_060D_062___092_060D_062s_Osimps_I7_J,axiom,
    ! [X_a,Eb,F_1,D_2,A_2] :
      ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Eb),F_1),D_2)),A_2))
    <=> hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) ),
    file('theBenchmark.p',fact_380__092_060D_062___092_060D_062s_Osimps_I7_J) ).

fof(fact_381_FAccRedsThrow,axiom,
    ! [F_1,D_2,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_381_FAccRedsThrow) ).

fof(fact_382_eval__evals_OSeqThrow,axiom,
    ! [E_1_1,Pa,E_0,S_0,Eb,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),E_0),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_0),E_1_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1)) ),
    file('theBenchmark.p',fact_382_eval__evals_OSeqThrow) ).

fof(fact_383_eval__evals_OLAssThrow,axiom,
    ! [Va_1,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_383_eval__evals_OLAssThrow) ).

fof(fact_384_eval__evals_OFAssThrow1,axiom,
    ! [F_1,D_2,E_2,Pa,E_1_1,S_0,E_b,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),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_384_eval__evals_OFAssThrow1) ).

fof(fact_385_redp__redsp_OSeqThrow,axiom,
    ! [Pa,Eb,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_385_redp__redsp_OSeqThrow) ).

fof(fact_386_redp__redsp_OLAssThrow,axiom,
    ! [Pa,Va_1,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_386_redp__redsp_OLAssThrow) ).

fof(fact_387_redp__redsp_OFAssThrow1,axiom,
    ! [Pa,Eb,F_1,D_2,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_387_redp__redsp_OFAssThrow1) ).

fof(fact_388_red__reds_OThrowThrow,axiom,
    ! [Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_388_red__reds_OThrowThrow) ).

fof(fact_389_red__reds_OThrowRed,axiom,
    ! [Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_389_red__reds_OThrowRed) ).

fof(fact_390_Throw,axiom,
    ! [Pa,Eb,S_0,A_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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S_1)) ),
    file('theBenchmark.p',fact_390_Throw) ).

fof(fact_391_eval__evals_OFAssThrow2,axiom,
    ! [F_1,D_2,E_2,E_b,S_2_1,Pa,E_1_1,S_0,Va,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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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),E_2),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1)) ) ),
    file('theBenchmark.p',fact_391_eval__evals_OFAssThrow2) ).

fof(fact_392_red__reds_OFAccRed,axiom,
    ! [F_1,D_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_392_red__reds_OFAccRed) ).

fof(fact_393_redp__redsp_OFAssThrow2,axiom,
    ! [Pa,Va,F_1,D_2,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_393_redp__redsp_OFAssThrow2) ).

fof(fact_394_final__def,axiom,
    ! [X_a,Eb] :
      ( hBOOL(hAPP(exp(X_a),bool,final(X_a),Eb))
    <=> ( ? [A_3] : Eb = hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))
        | ? [V] : Eb = hAPP(val,exp(X_a),val_1(X_a),V) ) ),
    file('theBenchmark.p',fact_394_final__def) ).

fof(fact_395_ThrowReds,axiom,
    ! [Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_395_ThrowReds) ).

fof(fact_396_ThrowRedsThrow,axiom,
    ! [Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_396_ThrowRedsThrow) ).

fof(fact_397_red__reds_OLAssThrow,axiom,
    ! [Va_1,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_397_red__reds_OLAssThrow) ).

fof(fact_398_red__reds_OSeqThrow,axiom,
    ! [Eb,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_398_red__reds_OSeqThrow) ).

fof(fact_399_red__reds_OFAssThrow1,axiom,
    ! [Eb,F_1,D_2,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_399_red__reds_OFAssThrow1) ).

fof(fact_400_redp__redsp_OBlockThrow,axiom,
    ! [Pa,Va_1,Ta,A_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),
    file('theBenchmark.p',fact_400_redp__redsp_OBlockThrow) ).

fof(fact_401_FAccReds,axiom,
    ! [F_1,D_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_401_FAccReds) ).

fof(fact_402_red__reds_OFAssThrow2,axiom,
    ! [Va,F_1,D_2,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_402_red__reds_OFAssThrow2) ).

fof(fact_403_LAssRedsThrow,axiom,
    ! [Va_1,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_403_LAssRedsThrow) ).

fof(fact_404_SeqRedsThrow,axiom,
    ! [E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_404_SeqRedsThrow) ).

fof(fact_405_FAssRedsThrow1,axiom,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_405_FAssRedsThrow1) ).

fof(fact_406_FAssRedsThrow2,axiom,
    ! [F_1,D_2,E_2,Eb,S_2_1,E_1_1,S_0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_406_FAssRedsThrow2) ).

fof(fact_407_red__reds_OBlockThrow,axiom,
    ! [Va_1,Ta,A_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_407_red__reds_OBlockThrow) ).

fof(fact_408_redp__redsp_OInitBlockThrow,axiom,
    ! [Pa,Va_1,Ta,Va,A_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),
    file('theBenchmark.p',fact_408_redp__redsp_OInitBlockThrow) ).

fof(fact_409_eval__cases_I4_J,axiom,
    ! [Pa,Va_1,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S),E_b),S_3))
     => ( ( E_b = hAPP(val,exp(list(char)),val_1(list(char)),unit)
         => ! [V,H,L_4] :
              ( S_3 = hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_4),Va_1),hAPP(val,option(val),some(val),V)))
             => ~ 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),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),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_4))) ) )
       => ~ ! [E_1] :
              ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) ) ) ),
    file('theBenchmark.p',fact_409_eval__cases_I4_J) ).

fof(fact_410_rtrancl__Un__separatorE,axiom,
    ! [X_a,A_1,B,Pa,Q_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_1),B)),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),Pa),Q_1))))
     => ( ! [X_2,Y_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_1),X_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa)))
           => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),Q_1))
             => ti(X_a,X_2) = ti(X_a,Y_2) ) )
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa))) ) ),
    file('theBenchmark.p',fact_410_rtrancl__Un__separatorE) ).

fof(fact_411_finalE,axiom,
    ! [X_a,E] :
      ( hBOOL(hAPP(exp(X_a),bool,final(X_a),E))
     => ( ! [V] : E != hAPP(val,exp(X_a),val_1(X_a),V)
       => ~ ! [A_3] : E != hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3))) ) ),
    file('theBenchmark.p',fact_411_finalE) ).

fof(fact_412_eval__cases_I9_J,axiom,
    ! [Pa,E_1_1,E_2,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),S),E_b),S_3))
     => ( ! [V,S_1_1] :
            ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),S_1_1))
           => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),E_b),S_3)) )
       => ~ ! [E_4] :
              ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)
             => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3)) ) ) ),
    file('theBenchmark.p',fact_412_eval__cases_I9_J) ).

fof(fact_413_val_Osimps_I10_J,axiom,
    ! [Nat_1] : unit != hAPP(nat,val,addr,Nat_1),
    file('theBenchmark.p',fact_413_val_Osimps_I10_J) ).

fof(fact_414_val_Osimps_I11_J,axiom,
    ! [Nat_1] : hAPP(nat,val,addr,Nat_1) != unit,
    file('theBenchmark.p',fact_414_val_Osimps_I11_J) ).

fof(fact_415_val_Osimps_I3_J,axiom,
    ! [Nat_2,Nat] :
      ( hAPP(nat,val,addr,Nat_2) = hAPP(nat,val,addr,Nat)
    <=> Nat_2 = Nat ),
    file('theBenchmark.p',fact_415_val_Osimps_I3_J) ).

fof(fact_416_TryCatchRedsFinal,axiom,
    ! [E_2,Va_1,E_2_1,H_2,L_2,C_1,D_2,Fs,E_1_1,S_0,A_1,H_1,L_1_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
       => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
           => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_2_1))
             => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_1_1,Va_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)))) ) ) ) ) ),
    file('theBenchmark.p',fact_416_TryCatchRedsFinal) ).

fof(fact_417_WTrtThrow,axiom,
    ! [Ta,Pa,Hb,Ea,Eb,T_r] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),T_r))
     => ( hBOOL(hAPP(ty,bool,is_refT,T_r))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta)) ) ),
    file('theBenchmark.p',fact_417_WTrtThrow) ).

fof(fact_418_BinOpRedsThrow2,axiom,
    ! [Bop_2,E_2,Eb,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_418_BinOpRedsThrow2) ).

fof(fact_419_TryRedsFail,axiom,
    ! [Va_1,E_2,C_1,D_2,Fs,E_1_1,S,A_1,Hb,Lb,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
       => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ) ) ),
    file('theBenchmark.p',fact_419_TryRedsFail) ).

fof(fact_420_hconf__def,axiom,
    ! [X_a,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb))
    <=> ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
        & ! [A_3,Obj] :
            ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Obj)
           => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj)) ) ) ),
    file('theBenchmark.p',fact_420_hconf__def) ).

fof(fact_421_exp_Osimps_I114_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_421_exp_Osimps_I114_J) ).

fof(fact_422_exp_Osimps_I115_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_422_exp_Osimps_I115_J) ).

fof(fact_423_exp_Osimps_I4_J,axiom,
    ! [X_a,Exp1_3,Bop_2,Exp2_3,Exp1_2,Bop_3,Exp2_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_3),Bop_2),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_2),Bop_3),Exp2_2)
    <=> ( Exp2_3 = Exp2_2
        & ti(bop,Bop_2) = ti(bop,Bop_3)
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_423_exp_Osimps_I4_J) ).

fof(fact_424_exp_Osimps_I15_J,axiom,
    ! [X_a,Exp1_3,List,A_1,Exp2_3,Exp1_2,List_1,A_4,Exp2_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_3),List),A_1),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_2),List_1),A_4),Exp2_2)
    <=> ( Exp2_3 = Exp2_2
        & ti(X_a,A_1) = ti(X_a,A_4)
        & List = List_1
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_424_exp_Osimps_I15_J) ).

fof(fact_425_redp__redsp_OBinOpRed1,axiom,
    ! [Bop_2,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3)) ),
    file('theBenchmark.p',fact_425_redp__redsp_OBinOpRed1) ).

fof(fact_426_redp__redsp_OTryRed,axiom,
    ! [C_1,Va_1,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Eb),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_b),C_1),Va_1),E_2)),S_3)) ),
    file('theBenchmark.p',fact_426_redp__redsp_OTryRed) ).

fof(fact_427_exp_Osimps_I93_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_427_exp_Osimps_I93_J) ).

fof(fact_428_exp_Osimps_I71_J,axiom,
    ! [X_a,Exp1,Bop_1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_428_exp_Osimps_I71_J) ).

fof(fact_429_exp_Osimps_I92_J,axiom,
    ! [X_a,Val,Exp1,List_3,A_6,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_429_exp_Osimps_I92_J) ).

fof(fact_430_exp_Osimps_I70_J,axiom,
    ! [X_a,Val,Exp1,Bop_1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    file('theBenchmark.p',fact_430_exp_Osimps_I70_J) ).

fof(fact_431_exp_Osimps_I113_J,axiom,
    ! [X_a,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_431_exp_Osimps_I113_J) ).

fof(fact_432_exp_Osimps_I224_J,axiom,
    ! [X_a,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_432_exp_Osimps_I224_J) ).

fof(fact_433_exp_Osimps_I112_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_433_exp_Osimps_I112_J) ).

fof(fact_434_exp_Osimps_I225_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp),
    file('theBenchmark.p',fact_434_exp_Osimps_I225_J) ).

fof(fact_435_exp_Osimps_I153_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_435_exp_Osimps_I153_J) ).

fof(fact_436_exp_Osimps_I213_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_436_exp_Osimps_I213_J) ).

fof(fact_437_exp_Osimps_I96_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,A_6,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    file('theBenchmark.p',fact_437_exp_Osimps_I96_J) ).

fof(fact_438_exp_Osimps_I106_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_438_exp_Osimps_I106_J) ).

fof(fact_439_exp_Osimps_I152_J,axiom,
    ! [X_a,A_5,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_439_exp_Osimps_I152_J) ).

fof(fact_440_exp_Osimps_I212_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_440_exp_Osimps_I212_J) ).

fof(fact_441_exp_Osimps_I97_J,axiom,
    ! [X_a,A_6,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_441_exp_Osimps_I97_J) ).

fof(fact_442_exp_Osimps_I107_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_442_exp_Osimps_I107_J) ).

fof(fact_443_exp_Osimps_I100_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_443_exp_Osimps_I100_J) ).

fof(fact_444_exp_Osimps_I101_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_444_exp_Osimps_I101_J) ).

fof(fact_445_exp_Osimps_I182_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_445_exp_Osimps_I182_J) ).

fof(fact_446_exp_Osimps_I183_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_446_exp_Osimps_I183_J) ).

fof(fact_447_exp_Osimps_I205_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    file('theBenchmark.p',fact_447_exp_Osimps_I205_J) ).

fof(fact_448_exp_Osimps_I204_J,axiom,
    ! [X_a,A_5,Ty_1,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_448_exp_Osimps_I204_J) ).

fof(fact_449_exp_Osimps_I105_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_449_exp_Osimps_I105_J) ).

fof(fact_450_exp_Osimps_I104_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_450_exp_Osimps_I104_J) ).

fof(fact_451_exp_Osimps_I99_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,Bop,Exp2_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_451_exp_Osimps_I99_J) ).

fof(fact_452_exp_Osimps_I98_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_452_exp_Osimps_I98_J) ).

fof(fact_453_exp_Osimps_I168_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,List_3,A_6,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_453_exp_Osimps_I168_J) ).

fof(fact_454_exp_Osimps_I169_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_454_exp_Osimps_I169_J) ).

fof(fact_455_eval__evals_OBinOpThrow1,axiom,
    ! [Bop_2,E_2,Pa,E_1_1,S_0,Eb,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),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1)) ),
    file('theBenchmark.p',fact_455_eval__evals_OBinOpThrow1) ).

fof(fact_456_redp__redsp_OBinOpRed2,axiom,
    ! [V_1_2,Bop_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),E_b)),S_3)) ),
    file('theBenchmark.p',fact_456_redp__redsp_OBinOpRed2) ).

fof(fact_457_redp__redsp_OBinOpThrow1,axiom,
    ! [Pa,Eb,Bop_2,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Bop_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_457_redp__redsp_OBinOpThrow1) ).

fof(fact_458_Try,axiom,
    ! [C_1,Va_1,E_2,Pa,E_1_1,S_0,V_1_2,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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1)) ),
    file('theBenchmark.p',fact_458_Try) ).

fof(fact_459_redp__redsp_ORedTry,axiom,
    ! [Pa,Va,C_1,Va_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),C_1),Va_1),E_2)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)),
    file('theBenchmark.p',fact_459_redp__redsp_ORedTry) ).

fof(fact_460_fv__fvs_Osimps_I4_J,axiom,
    ! [E_1_1,Bop_2,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    file('theBenchmark.p',fact_460_fv__fvs_Osimps_I4_J) ).

fof(fact_461_has__field__mono,axiom,
    ! [X_a,C_3,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_1),F_1),Ta),D_2))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
       => hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_3),F_1),Ta),D_2)) ) ),
    file('theBenchmark.p',fact_461_has__field__mono) ).

fof(fact_462_red__reds_OBinOpRed1,axiom,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_462_red__reds_OBinOpRed1) ).

fof(fact_463_eval__evals_OBinOpThrow2,axiom,
    ! [Bop_2,E_2,Eb,S_2_1,Pa,E_1_1,S_0,V_1_2,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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),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),E_2),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1)) ) ),
    file('theBenchmark.p',fact_463_eval__evals_OBinOpThrow2) ).

fof(fact_464_redp__redsp_OBinOpThrow2,axiom,
    ! [Pa,V_1_2,Bop_2,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_464_redp__redsp_OBinOpThrow2) ).

fof(fact_465_red__reds_OTryRed,axiom,
    ! [C_1,Va_1,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),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_b),C_1),Va_1),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_465_red__reds_OTryRed) ).

fof(fact_466_red__reds_OBinOpRed2,axiom,
    ! [V_1_2,Bop_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_466_red__reds_OBinOpRed2) ).

fof(fact_467_red__reds_OBinOpThrow1,axiom,
    ! [Eb,Bop_2,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_467_red__reds_OBinOpThrow1) ).

fof(fact_468_BinOp1Reds,axiom,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_468_BinOp1Reds) ).

fof(fact_469_red__reds_ORedTry,axiom,
    ! [Va,C_1,Va_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),
    file('theBenchmark.p',fact_469_red__reds_ORedTry) ).

fof(fact_470_TryReds,axiom,
    ! [C_1,Va_1,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),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_b),C_1),Va_1),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_470_TryReds) ).

fof(fact_471_TryThrow,axiom,
    ! [Va_1,E_2,C_1,D_2,Fs,Pa,E_1_1,S_0,A_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
       => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ) ) ),
    file('theBenchmark.p',fact_471_TryThrow) ).

fof(fact_472_red__reds_OBinOpThrow2,axiom,
    ! [V_1_2,Bop_2,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_472_red__reds_OBinOpThrow2) ).

fof(fact_473_BinOp2Reds,axiom,
    ! [Va,Bop_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Bop_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Bop_2),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_473_BinOp2Reds) ).

fof(fact_474_BinOpRedsThrow1,axiom,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_474_BinOpRedsThrow1) ).

fof(fact_475_TryRedsVal,axiom,
    ! [C_1,Va_1,E_2,Eb,S,Va,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_475_TryRedsVal) ).

fof(fact_476_red__reds_ORedTryFail,axiom,
    ! [Va_1,E_2,C_1,Pa,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ),
    file('theBenchmark.p',fact_476_red__reds_ORedTryFail) ).

fof(fact_477_TryCatch,axiom,
    ! [E_2,Va_1,E_2_1,H_2,L_2,C_1,D_2,Fs,Pa,E_1_1,S_0,A_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
       => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1))))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
           => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_1_1,Va_1))))) ) ) ) ),
    file('theBenchmark.p',fact_477_TryCatch) ).

fof(fact_478_WTrt__elim__cases_I4_J,axiom,
    ! [Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta))
     => ~ ! [T_r_1] :
            ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),T_r_1))
           => ~ hBOOL(hAPP(ty,bool,is_refT,T_r_1)) ) ),
    file('theBenchmark.p',fact_478_WTrt__elim__cases_I4_J) ).

fof(fact_479_preallocated__new,axiom,
    ! [X_1,A_1,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
       => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1)))) ) ),
    file('theBenchmark.p',fact_479_preallocated__new) ).

fof(fact_480_red__reds_ORedTryCatch,axiom,
    ! [Va_1,E_2,C_1,Pa,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),hAPP(list(char),ty,class,C_1)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),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))) ) ),
    file('theBenchmark.p',fact_480_red__reds_ORedTryCatch) ).

fof(fact_481_preallocated__upd__obj,axiom,
    ! [Fs_2,A_1,C_1,Fs,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
       => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2))))) ) ),
    file('theBenchmark.p',fact_481_preallocated__upd__obj) ).

fof(fact_482_CastRedsAddr,axiom,
    ! [C_1,D_2,Fs,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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))),D_2),Fs))
       => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ) ),
    file('theBenchmark.p',fact_482_CastRedsAddr) ).

fof(fact_483_WTrtTry,axiom,
    ! [Va_1,C_1,E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),T_1_1))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),T_2_2))
         => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),T_2_2)) ) ) ),
    file('theBenchmark.p',fact_483_WTrtTry) ).

fof(fact_484_exp_Osimps_I2_J,axiom,
    ! [X_a,List,Exp_3,List_1,Exp_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_2)
    <=> ( Exp_3 = Exp_2
        & List = List_1 ) ),
    file('theBenchmark.p',fact_484_exp_Osimps_I2_J) ).

fof(fact_485_redp__redsp_OCastRed,axiom,
    ! [C_1,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3)) ),
    file('theBenchmark.p',fact_485_redp__redsp_OCastRed) ).

fof(fact_486_fv__fvs_Osimps_I2_J,axiom,
    ! [C_1,Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    file('theBenchmark.p',fact_486_fv__fvs_Osimps_I2_J) ).

fof(fact_487_exp_Osimps_I45_J,axiom,
    ! [X_a,Val_1,List_2,Exp] : hAPP(val,exp(X_a),val_1(X_a),Val_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_487_exp_Osimps_I45_J) ).

fof(fact_488_exp_Osimps_I44_J,axiom,
    ! [X_a,List_2,Exp,Val_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(val,exp(X_a),val_1(X_a),Val_1),
    file('theBenchmark.p',fact_488_exp_Osimps_I44_J) ).

fof(fact_489_exp_Osimps_I66_J,axiom,
    ! [X_a,List_2,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_489_exp_Osimps_I66_J) ).

fof(fact_490_exp_Osimps_I67_J,axiom,
    ! [X_a,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_490_exp_Osimps_I67_J) ).

fof(fact_491_exp_Osimps_I61_J,axiom,
    ! [X_a,Exp1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_491_exp_Osimps_I61_J) ).

fof(fact_492_exp_Osimps_I60_J,axiom,
    ! [X_a,List_2,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_492_exp_Osimps_I60_J) ).

fof(fact_493_exp_Osimps_I50_J,axiom,
    ! [X_a,List_2,Exp,A_6,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    file('theBenchmark.p',fact_493_exp_Osimps_I50_J) ).

fof(fact_494_exp_Osimps_I51_J,axiom,
    ! [X_a,A_6,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_494_exp_Osimps_I51_J) ).

fof(fact_495_exp_Osimps_I55_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_495_exp_Osimps_I55_J) ).

fof(fact_496_exp_Osimps_I54_J,axiom,
    ! [X_a,List_2,Exp,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_496_exp_Osimps_I54_J) ).

fof(fact_497_exp_Osimps_I58_J,axiom,
    ! [X_a,List_2,Exp,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_497_exp_Osimps_I58_J) ).

fof(fact_498_exp_Osimps_I59_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_498_exp_Osimps_I59_J) ).

fof(fact_499_exp_Osimps_I47_J,axiom,
    ! [X_a,Exp1,Bop_1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_499_exp_Osimps_I47_J) ).

fof(fact_500_exp_Osimps_I46_J,axiom,
    ! [X_a,List_2,Exp,Exp1,Bop_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    file('theBenchmark.p',fact_500_exp_Osimps_I46_J) ).

fof(fact_501_exp_Osimps_I53_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,List_2,Exp] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_501_exp_Osimps_I53_J) ).

fof(fact_502_exp_Osimps_I52_J,axiom,
    ! [X_a,List_2,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_502_exp_Osimps_I52_J) ).

fof(fact_503_exp_Osimps_I69_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_503_exp_Osimps_I69_J) ).

fof(fact_504_exp_Osimps_I68_J,axiom,
    ! [X_a,List_2,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_504_exp_Osimps_I68_J) ).

fof(fact_505__092_060D_062___092_060D_062s_Osimps_I2_J,axiom,
    ! [X_a,C_1,Eb,A_2] :
      ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),C_1),Eb)),A_2))
    <=> hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) ),
    file('theBenchmark.p',fact_505__092_060D_062___092_060D_062s_Osimps_I2_J) ).

fof(fact_506_eval__evals_OCastThrow,axiom,
    ! [C_1,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_506_eval__evals_OCastThrow) ).

fof(fact_507_redp__redsp_OCastThrow,axiom,
    ! [Pa,C_1,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_507_redp__redsp_OCastThrow) ).

fof(fact_508_WTrtFAcc,axiom,
    ! [F_1,Ta,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta)) ) ),
    file('theBenchmark.p',fact_508_WTrtFAcc) ).

fof(fact_509_red__reds_OCastRed,axiom,
    ! [C_1,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_509_red__reds_OCastRed) ).

fof(fact_510_red__reds_OCastThrow,axiom,
    ! [C_1,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_510_red__reds_OCastThrow) ).

fof(fact_511_CastReds,axiom,
    ! [C_1,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_511_CastReds) ).

fof(fact_512_Class__widen__Class,axiom,
    ! [X_a,Pa,C_1,D_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),hAPP(list(char),ty,class,C_1)),hAPP(list(char),ty,class,D_2)))
    <=> hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    file('theBenchmark.p',fact_512_Class__widen__Class) ).

fof(fact_513_widen__subcls,axiom,
    ! [X_a,C_1,D_2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
     => hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),hAPP(list(char),ty,class,C_1)),hAPP(list(char),ty,class,D_2))) ),
    file('theBenchmark.p',fact_513_widen__subcls) ).

fof(fact_514_WTrtFAss,axiom,
    ! [E_2,T_2_2,F_1,Ta,D_2,Pa,Hb,Ea,E_1_1,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
       => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_2),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_2),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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void)) ) ) ) ),
    file('theBenchmark.p',fact_514_WTrtFAss) ).

fof(fact_515_CastRedsThrow,axiom,
    ! [C_1,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_515_CastRedsThrow) ).

fof(fact_516_preallocated__hext,axiom,
    ! [H_b,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( 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,Hb),H_b))
       => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,H_b)) ) ),
    file('theBenchmark.p',fact_516_preallocated__hext) ).

fof(fact_517_Cast,axiom,
    ! [C_1,D_2,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
       => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))) ) ) ),
    file('theBenchmark.p',fact_517_Cast) ).

fof(fact_518_red__reds_ORedCast,axiom,
    ! [C_1,Pa,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ),
    file('theBenchmark.p',fact_518_red__reds_ORedCast) ).

fof(fact_519_WTrt__elim__cases_I5_J,axiom,
    ! [Pa,Hb,Ea,E_1_1,C_1,Va_1,E_2,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),Ta))
     => ~ ! [T_1_2] :
            ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),T_1_2))
           => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),Ta))
             => ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_2),Ta)) ) ) ),
    file('theBenchmark.p',fact_519_WTrt__elim__cases_I5_J) ).

fof(fact_520_final__addrE,axiom,
    ! [Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
       => ( ! [A_3] : Eb != hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))
         => ~ ! [A_3] : Eb != hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))) ) ) ),
    file('theBenchmark.p',fact_520_final__addrE) ).

fof(fact_521_BinOpRedsVal,axiom,
    ! [Bop_2,Va,E_2,V_2_1,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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_2_1)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),Va)
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ) ),
    file('theBenchmark.p',fact_521_BinOpRedsVal) ).

fof(fact_522_CastRedsFail,axiom,
    ! [C_1,D_2,Fs,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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))),D_2),Fs))
       => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ) ),
    file('theBenchmark.p',fact_522_CastRedsFail) ).

fof(fact_523_BinOp,axiom,
    ! [Bop_2,Va,E_2,V_2_1,S_2_1,Pa,E_1_1,S_0,V_1_2,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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),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),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1)),S_2_1))
       => ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),Va)
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1)) ) ) ),
    file('theBenchmark.p',fact_523_BinOp) ).

fof(fact_524_redp__redsp_ORedBinOp,axiom,
    ! [Pa,S,Bop_2,V_1_2,V_2_1,Va] :
      ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),Va)
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)) ),
    file('theBenchmark.p',fact_524_redp__redsp_ORedBinOp) ).

fof(fact_525_CastFail,axiom,
    ! [C_1,D_2,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))
     => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
       => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))) ) ) ),
    file('theBenchmark.p',fact_525_CastFail) ).

fof(fact_526_red__reds_ORedCastFail,axiom,
    ! [C_1,Pa,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ),
    file('theBenchmark.p',fact_526_red__reds_ORedCastFail) ).

fof(fact_527_red__reds_ORedBinOp,axiom,
    ! [S,Pa,Bop_2,V_1_2,V_2_1,Va] :
      ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),Va)
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))) ),
    file('theBenchmark.p',fact_527_red__reds_ORedBinOp) ).

fof(fact_528_eval__cases_I3_J,axiom,
    ! [Pa,E_1_1,Bop_2,E_2,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S),E_b),S_3))
     => ( ! [V_1_1,S_1_1,V_2_3,V] :
            ( E_b = hAPP(val,exp(list(char)),val_1(list(char)),V)
           => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))
             => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2_3)),S_3))
               => hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_3))) != hAPP(val,option(val),some(val),V) ) ) )
       => ( ! [E_4] :
              ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)
             => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3)) )
         => ~ ! [V_1_1,S_1_1,E_4] :
                ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)
               => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))
                 => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3)) ) ) ) ) ),
    file('theBenchmark.p',fact_528_eval__cases_I3_J) ).

fof(fact_529_binop_Osimps_I7_J,axiom,
    ! [V_1_3] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),unit))) = none(val),
    file('theBenchmark.p',fact_529_binop_Osimps_I7_J) ).

fof(fact_530_binop_Osimps_I3_J,axiom,
    ! [V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),unit),V_2_2))) = none(val),
    file('theBenchmark.p',fact_530_binop_Osimps_I3_J) ).

fof(fact_531_typeof__ClassCast,axiom,
    ! [Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,classCast)) ),
    file('theBenchmark.p',fact_531_typeof__ClassCast) ).

fof(fact_532_WTrtVal,axiom,
    ! [Pa,Ea,Hb,Va,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,Hb),Va) = 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_1,Pa),Hb),Ea),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Ta)) ),
    file('theBenchmark.p',fact_532_WTrtVal) ).

fof(fact_533_typeof__conf,axiom,
    ! [X_a,Pa,Hb,Va,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,Hb),Va) = 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),Hb),Va),Ta)) ),
    file('theBenchmark.p',fact_533_typeof__conf) ).

fof(fact_534_hext__typeof__mono,axiom,
    ! [Va,Ta,Hb,H_b] :
      ( 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,Hb),H_b))
     => ( 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,Hb),Va) = 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_b),Va) = hAPP(ty,option(ty),some(ty),Ta) ) ),
    file('theBenchmark.p',fact_534_hext__typeof__mono) ).

fof(fact_535_typeof__lit__typeof,axiom,
    ! [Hb,Va,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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) = 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,Hb),Va) = hAPP(ty,option(ty),some(ty),Ta) ),
    file('theBenchmark.p',fact_535_typeof__lit__typeof) ).

fof(fact_536_conf__def,axiom,
    ! [X_a,Pa,Hb,Va,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),Hb),Va),Ta))
    <=> ? [T_9] :
          ( 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_9),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,Hb),Va) = hAPP(ty,option(ty),some(ty),T_9) ) ),
    file('theBenchmark.p',fact_536_conf__def) ).

fof(fact_537_typeof__h_Osimps_I1_J,axiom,
    ! [Hb] : 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,Hb),unit) = hAPP(ty,option(ty),some(ty),void),
    file('theBenchmark.p',fact_537_typeof__h_Osimps_I1_J) ).

fof(fact_538_typeof__lit__conf,axiom,
    ! [X_a,Pa,Hb,Va,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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) = 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),Hb),Va),Ta)) ),
    file('theBenchmark.p',fact_538_typeof__lit__conf) ).

fof(fact_539_binop_Osimps_I6_J,axiom,
    ! [V_1,V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(nat,val,addr,V_1)),V_2_2))) = none(val),
    file('theBenchmark.p',fact_539_binop_Osimps_I6_J) ).

fof(fact_540_binop_Osimps_I10_J,axiom,
    ! [V_1_3,V_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),hAPP(nat,val,addr,V_1)))) = none(val),
    file('theBenchmark.p',fact_540_binop_Osimps_I10_J) ).

fof(fact_541_typeof__OutOfMemory,axiom,
    ! [Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,outOfMemory)) ),
    file('theBenchmark.p',fact_541_typeof__OutOfMemory) ).

fof(fact_542_typeof__NullPointer,axiom,
    ! [Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,nullPointer)) ),
    file('theBenchmark.p',fact_542_typeof__NullPointer) ).

fof(fact_543_typeof__h_Osimps_I5_J,axiom,
    ! [Hb,A_1] : hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Hb),hAPP(nat,val,addr,A_1)) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty),hAPP(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty)),hAPP(option(ty),fun(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty))),option_case(option(ty),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),none(ty)),hAPP(fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),product_prod_case(list(char),fun(product_prod(list(char),list(char)),option(val)),option(ty)),hAPP(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),hAPP(fun(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)))),combb(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)),list(char)),combk(option(ty),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(list(char),ty),fun(list(char),option(ty)),hAPP(fun(ty,option(ty)),fun(fun(list(char),ty),fun(list(char),option(ty))),combb(ty,option(ty),list(char)),some(ty)),class)))),hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1)),
    file('theBenchmark.p',fact_543_typeof__h_Osimps_I5_J) ).

fof(fact_544_WTrt_H__WTrts_H_Ointros_I16_J,axiom,
    ! [Ea,Va_1,E_2,T_2_2,Pa,Ta,Hb,Va,T_1_1] :
      ( hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Hb),Va) = hAPP(ty,option(ty),some(ty),T_1_1)
     => ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),Ta))
       => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),E_2),T_2_2))
         => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_2))),T_2_2)) ) ) ),
    file('theBenchmark.p',fact_544_WTrt_H__WTrts_H_Ointros_I16_J) ).

fof(fact_545_WTrt_H__WTrts_H_Ointros_I3_J,axiom,
    ! [Pa,Ea,Hb,Va,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,Hb),Va) = 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),Hb),Ea),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Ta)) ),
    file('theBenchmark.p',fact_545_WTrt_H__WTrts_H_Ointros_I3_J) ).

fof(fact_546_WTrt_H__WTrts_H_Ointros_I18_J,axiom,
    ! [E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),T_1_1))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_2),T_2_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),T_2_2)) ) ),
    file('theBenchmark.p',fact_546_WTrt_H__WTrts_H_Ointros_I18_J) ).

fof(fact_547_wt__wt_H,axiom,
    ! [Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),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),Hb),Ea),Eb),Ta)) ),
    file('theBenchmark.p',fact_547_wt__wt_H) ).

fof(fact_548_wt_H__wt,axiom,
    ! [Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),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_1,Pa),Hb),Ea),Eb),Ta)) ),
    file('theBenchmark.p',fact_548_wt_H__wt) ).

fof(fact_549_wt_H__iff__wt,axiom,
    ! [Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),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_1,Pa),Hb),Ea),Eb),Ta)) ),
    file('theBenchmark.p',fact_549_wt_H__iff__wt) ).

fof(fact_550_WTrt_H__WTrts_H_Ointros_I21_J,axiom,
    ! [Ta,Pa,Hb,Ea,Eb,T_r] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),T_r))
     => ( hBOOL(hAPP(ty,bool,is_refT,T_r))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta)) ) ),
    file('theBenchmark.p',fact_550_WTrt_H__WTrts_H_Ointros_I21_J) ).

fof(fact_551_option_Osimps_I5_J,axiom,
    ! [X_b,X_a,F1_1,F2_1,A_1] : hAPP(option(X_b),X_a,hAPP(fun(X_b,X_a),fun(option(X_b),X_a),hAPP(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a)),option_case(X_a,X_b),F1_1),F2_1),hAPP(X_b,option(X_b),some(X_b),A_1)) = hAPP(X_b,X_a,F2_1,A_1),
    file('theBenchmark.p',fact_551_option_Osimps_I5_J) ).

fof(fact_552_option_Osimps_I4_J,axiom,
    ! [X_b,X_a,F1_1,F2_1] : hAPP(option(X_b),X_a,hAPP(fun(X_b,X_a),fun(option(X_b),X_a),hAPP(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a)),option_case(X_a,X_b),F1_1),F2_1),none(X_b)) = ti(X_a,F1_1),
    file('theBenchmark.p',fact_552_option_Osimps_I4_J) ).

fof(fact_553_WTrt_H__WTrts_H_Ointros_I8_J,axiom,
    ! [F_1,Ta,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta)) ) ),
    file('theBenchmark.p',fact_553_WTrt_H__WTrts_H_Ointros_I8_J) ).

fof(fact_554_WTrt_H__WTrts_H_Ointros_I17_J,axiom,
    ! [Pa,Hb,Ea,Va_1,Ta,Eb,T_a] :
      ( 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),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),Eb),T_a))
     => ( ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
       => 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),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),T_a)) ) ),
    file('theBenchmark.p',fact_554_WTrt_H__WTrts_H_Ointros_I17_J) ).

fof(fact_555_map__add__def,axiom,
    ! [X_a,X_b,M1,M2,X_2] : hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),M2),X_2) = hAPP(option(X_b),option(X_b),hAPP(fun(X_b,option(X_b)),fun(option(X_b),option(X_b)),hAPP(option(X_b),fun(fun(X_b,option(X_b)),fun(option(X_b),option(X_b))),option_case(option(X_b),X_b),hAPP(X_a,option(X_b),M1,X_2)),some(X_b)),hAPP(X_a,option(X_b),M2,X_2)),
    file('theBenchmark.p',fact_555_map__add__def) ).

fof(fact_556_WTrt_H__WTrts_H_Ointros_I22_J,axiom,
    ! [Va_1,C_1,E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),T_1_1))
     => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),T_2_2))
         => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),T_2_2)) ) ) ),
    file('theBenchmark.p',fact_556_WTrt_H__WTrts_H_Ointros_I22_J) ).

fof(fact_557_WTrt_H__WTrts_H_Ointros_I10_J,axiom,
    ! [E_2,T_2_2,F_1,Ta,D_2,Pa,Hb,Ea,E_1_1,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
       => ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_2),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_2),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),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void)) ) ) ) ),
    file('theBenchmark.p',fact_557_WTrt_H__WTrts_H_Ointros_I10_J) ).

fof(fact_558_start__heap__def,axiom,
    ! [X_a,G_1] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(X_a),G_1) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),nullPointer)))),hAPP(list(char),nat,addr_of_sys_xcpt,classCast)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),classCast)))),hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),outOfMemory))),
    file('theBenchmark.p',fact_558_start__heap__def) ).

fof(fact_559_FAccRedsNull,axiom,
    ! [F_1,D_2,Eb,S,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_559_FAccRedsNull) ).

fof(fact_560_FAssRedsNull,axiom,
    ! [F_1,D_2,E_2,Va,S_2_1,E_1_1,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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)),Va)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_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)))) ) ),
    file('theBenchmark.p',fact_560_FAssRedsNull) ).

fof(fact_561_red__reds_ORedFAccNull,axiom,
    ! [F_1,D_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_561_red__reds_ORedFAccNull) ).

fof(fact_562_val_Osimps_I5_J,axiom,
    null != unit,
    file('theBenchmark.p',fact_562_val_Osimps_I5_J) ).

fof(fact_563_val_Osimps_I4_J,axiom,
    unit != null,
    file('theBenchmark.p',fact_563_val_Osimps_I4_J) ).

fof(fact_564_val_Osimps_I16_J,axiom,
    ! [Nat_1] : null != hAPP(nat,val,addr,Nat_1),
    file('theBenchmark.p',fact_564_val_Osimps_I16_J) ).

fof(fact_565_val_Osimps_I17_J,axiom,
    ! [Nat_1] : hAPP(nat,val,addr,Nat_1) != null,
    file('theBenchmark.p',fact_565_val_Osimps_I17_J) ).

fof(fact_566_CastNull,axiom,
    ! [C_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    file('theBenchmark.p',fact_566_CastNull) ).

fof(fact_567_redp__redsp_ORedCastNull,axiom,
    ! [Pa,C_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S)),
    file('theBenchmark.p',fact_567_redp__redsp_ORedCastNull) ).

fof(fact_568_preallocated__start,axiom,
    ! [X_a,Pa] : hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(list(product_prod(list(char),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(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(X_a),Pa))),
    file('theBenchmark.p',fact_568_preallocated__start) ).

fof(fact_569_red__reds_ORedCastNull,axiom,
    ! [C_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_569_red__reds_ORedCastNull) ).

fof(fact_570_CastRedsNull,axiom,
    ! [C_1,Eb,S,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_570_CastRedsNull) ).

fof(fact_571_binop_Osimps_I8_J,axiom,
    ! [V_1_3] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),null))) = none(val),
    file('theBenchmark.p',fact_571_binop_Osimps_I8_J) ).

fof(fact_572_binop_Osimps_I4_J,axiom,
    ! [V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),null),V_2_2))) = none(val),
    file('theBenchmark.p',fact_572_binop_Osimps_I4_J) ).

fof(fact_573_ThrowNull,axiom,
    ! [Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1)) ),
    file('theBenchmark.p',fact_573_ThrowNull) ).

fof(fact_574_redp__redsp_ORedThrowNull,axiom,
    ! [Pa,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    file('theBenchmark.p',fact_574_redp__redsp_ORedThrowNull) ).

fof(fact_575_FAssNull,axiom,
    ! [F_1,D_2,E_2,Va,S_2_1,Pa,E_1_1,S_0,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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),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),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1)) ) ),
    file('theBenchmark.p',fact_575_FAssNull) ).

fof(fact_576_FAccNull,axiom,
    ! [F_1,D_2,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),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(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1)) ),
    file('theBenchmark.p',fact_576_FAccNull) ).

fof(fact_577_redp__redsp_ORedFAssNull,axiom,
    ! [Pa,F_1,D_2,Va,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    file('theBenchmark.p',fact_577_redp__redsp_ORedFAssNull) ).

fof(fact_578_redp__redsp_ORedFAccNull,axiom,
    ! [Pa,F_1,D_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    file('theBenchmark.p',fact_578_redp__redsp_ORedFAccNull) ).

fof(fact_579_red__reds_ORedThrowNull,axiom,
    ! [S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_579_red__reds_ORedThrowNull) ).

fof(fact_580_ThrowRedsNull,axiom,
    ! [Eb,S,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_580_ThrowRedsNull) ).

fof(fact_581_red__reds_ORedFAssNull,axiom,
    ! [F_1,D_2,Va,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_581_red__reds_ORedFAssNull) ).

fof(fact_582_finalRefE,axiom,
    ! [Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),Ta))
     => ( hBOOL(hAPP(ty,bool,is_refT,Ta))
       => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
         => ( Eb != hAPP(val,exp(list(char)),val_1(list(char)),null)
           => ( ( ? [A_3] : Eb = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))
               => ! [C_2] : Ta != hAPP(list(char),ty,class,C_2) )
             => ~ ! [A_3] : Eb != hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))) ) ) ) ) ),
    file('theBenchmark.p',fact_582_finalRefE) ).

fof(fact_583_eval__cases_I12_J,axiom,
    ! [Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S),E_b),S_3))
     => ( ! [A_3] :
            ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))
           => ~ 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),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_3)) )
       => ( ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))
           => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3)) )
         => ~ ! [E_1] :
                ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) ) ) ) ),
    file('theBenchmark.p',fact_583_eval__cases_I12_J) ).

fof(fact_584_non__npD,axiom,
    ! [X_a,Pa,Hb,C_1,Va] :
      ( Va != null
     => ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),Va),hAPP(list(char),ty,class,C_1)))
       => ? [A_3,C_5,Fs_1] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_5),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_5),Fs_1))
            & Va = hAPP(nat,val,addr,A_3) ) ) ),
    file('theBenchmark.p',fact_584_non__npD) ).

fof(fact_585_option__caseE,axiom,
    ! [X_a,Pa,Q_1,X_1] :
      ( hBOOL(hAPP(option(X_a),bool,hAPP(fun(X_a,bool),fun(option(X_a),bool),hAPP(bool,fun(fun(X_a,bool),fun(option(X_a),bool)),option_case(bool,X_a),Pa),Q_1),X_1))
     => ( ( ti(option(X_a),X_1) = none(X_a)
         => ~ hBOOL(Pa) )
       => ~ ! [Y_2] :
              ( ti(option(X_a),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_2)
             => ~ hBOOL(hAPP(X_a,bool,Q_1,Y_2)) ) ) ),
    file('theBenchmark.p',fact_585_option__caseE) ).

fof(fact_586_Class__widen,axiom,
    ! [X_a,P,C_4,T_3] :
      ( 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),hAPP(list(char),ty,class,C_4)),T_3))
     => ? [D_1] : T_3 = hAPP(list(char),ty,class,D_1) ),
    file('theBenchmark.p',fact_586_Class__widen) ).

fof(fact_587_redp__redsp_ORedTryCatch,axiom,
    ! [Va_1,E_2,Pa,C_1,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),hAPP(list(char),ty,class,C_1)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),E_2))),S)) ) ),
    file('theBenchmark.p',fact_587_redp__redsp_ORedTryCatch) ).

fof(fact_588_r__into__rtranclp,axiom,
    ! [X_a,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,X_1),Y_1))
     => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Y_1)) ),
    file('theBenchmark.p',fact_588_r__into__rtranclp) ).

fof(fact_589_rtranclp_Ortrancl__refl,axiom,
    ! [X_a,R_2,A_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),A_1)),
    file('theBenchmark.p',fact_589_rtranclp_Ortrancl__refl) ).

fof(fact_590_rtranclp__mono,axiom,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),R_2),S))
     => hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S))) ),
    file('theBenchmark.p',fact_590_rtranclp__mono) ).

fof(fact_591_rtranclp__subset,axiom,
    ! [X_a,R_1,S_2] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),R_1),S_2))
     => ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),S_2),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1)))
       => hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S_2) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1) ) ),
    file('theBenchmark.p',fact_591_rtranclp__subset) ).

fof(fact_592_rtranclp__reflcl,axiom,
    ! [X_a,R_1] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),R_1),fequal(X_a))) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1),
    file('theBenchmark.p',fact_592_rtranclp__reflcl) ).

fof(fact_593_rtranclp__sup__rtranclp,axiom,
    ! [X_a,R_1,S_2] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S_2))) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),R_1),S_2)),
    file('theBenchmark.p',fact_593_rtranclp__sup__rtranclp) ).

fof(fact_594_rtranclp__trans,axiom,
    ! [X_a,Z_1,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Y_1))
     => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),Y_1),Z_1))
       => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Z_1)) ) ),
    file('theBenchmark.p',fact_594_rtranclp__trans) ).

fof(fact_595_rtranclp_Ortrancl__into__rtrancl,axiom,
    ! [X_a,C,R_2,A_1,B] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),B))
     => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,B),C))
       => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),C)) ) ),
    file('theBenchmark.p',fact_595_rtranclp_Ortrancl__into__rtrancl) ).

fof(fact_596_converse__rtranclp__into__rtranclp,axiom,
    ! [X_a,C,R_2,A_1,B] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,A_1),B))
     => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),B),C))
       => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),C)) ) ),
    file('theBenchmark.p',fact_596_converse__rtranclp__into__rtranclp) ).

fof(fact_597_rtranclp__idemp,axiom,
    ! [X_a,R_2] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2)) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),
    file('theBenchmark.p',fact_597_rtranclp__idemp) ).

fof(fact_598_rtranclp__rtrancl__eq,axiom,
    ! [X_a,R_2,X_2,Xa] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),hAPP(fun(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)))),combb(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),X_a),combc(X_a,fun(product_prod(X_a,X_a),bool),bool)),hAPP(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),hAPP(fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)))),combb(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),combb(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),X_a),member(product_prod(X_a,X_a)))),product_Pair(X_a,X_a)))),R_2)),X_2),Xa))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Xa)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    file('theBenchmark.p',fact_598_rtranclp__rtrancl__eq) ).

fof(fact_599_redp__redsp_ORedCast,axiom,
    ! [Pa,C_1,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S)) ) ),
    file('theBenchmark.p',fact_599_redp__redsp_ORedCast) ).

fof(fact_600_redp__redsp_ORedTryFail,axiom,
    ! [Va_1,E_2,Pa,C_1,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)) ) ),
    file('theBenchmark.p',fact_600_redp__redsp_ORedTryFail) ).

fof(fact_601_redp__redsp_ORedCastFail,axiom,
    ! [Pa,C_1,S,A_1,D_2,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs))
     => ( ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S)) ) ),
    file('theBenchmark.p',fact_601_redp__redsp_ORedCastFail) ).

fof(fact_602_subcls1p__subcls1__eq,axiom,
    ! [X_a,Pa,X_2,Xa] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),X_2),Xa))
    <=> hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),X_2),Xa)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) ),
    file('theBenchmark.p',fact_602_subcls1p__subcls1__eq) ).

fof(fact_603_WTrtCast,axiom,
    ! [C_1,Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),Ta))
     => ( hBOOL(hAPP(ty,bool,is_refT,Ta))
       => ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
         => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),hAPP(list(char),ty,class,C_1))) ) ) ),
    file('theBenchmark.p',fact_603_WTrtCast) ).

fof(fact_604_ty_Osimps_I9_J,axiom,
    ! [List_3] : hAPP(list(char),ty,class,List_3) != void,
    file('theBenchmark.p',fact_604_ty_Osimps_I9_J) ).

fof(fact_605_ty_Osimps_I8_J,axiom,
    ! [List_3] : void != hAPP(list(char),ty,class,List_3),
    file('theBenchmark.p',fact_605_ty_Osimps_I8_J) ).

fof(fact_606_ty_Oinject,axiom,
    ! [List,List_1] :
      ( hAPP(list(char),ty,class,List) = hAPP(list(char),ty,class,List_1)
    <=> List = List_1 ),
    file('theBenchmark.p',fact_606_ty_Oinject) ).

fof(fact_607_WTrt_H__WTrts_H_Ointros_I2_J,axiom,
    ! [C_1,Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),Ta))
     => ( hBOOL(hAPP(ty,bool,is_refT,Ta))
       => ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
         => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),hAPP(list(char),ty,class,C_1))) ) ) ),
    file('theBenchmark.p',fact_607_WTrt_H__WTrts_H_Ointros_I2_J) ).

fof(fact_608_WTrt__elim__cases_I6_J,axiom,
    ! [Pa,Hb,Ea,D_2,Eb,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),D_2),Eb)),Ta))
     => ~ ( Ta = hAPP(list(char),ty,class,D_2)
         => ! [T_5] :
              ( 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_1,Pa),Hb),Ea),Eb),T_5))
             => ( hBOOL(hAPP(ty,bool,is_refT,T_5))
               => ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),D_2)) ) ) ) ),
    file('theBenchmark.p',fact_608_WTrt__elim__cases_I6_J) ).

fof(fact_609_sys__xcpts__cases,axiom,
    ! [Pa,C_1] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
     => ( hBOOL(hAPP(list(char),bool,Pa,nullPointer))
       => ( hBOOL(hAPP(list(char),bool,Pa,outOfMemory))
         => ( hBOOL(hAPP(list(char),bool,Pa,classCast))
           => hBOOL(hAPP(list(char),bool,Pa,C_1)) ) ) ) ),
    file('theBenchmark.p',fact_609_sys__xcpts__cases) ).

fof(fact_610_binop_Osimps_I9_J,axiom,
    ! [V_1_2,Va] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),hAPP(bool,val,bool_1,Va)))) = none(val),
    file('theBenchmark.p',fact_610_binop_Osimps_I9_J) ).

fof(fact_611_val_Osimps_I21_J,axiom,
    ! [Nat,Bool_1] : hAPP(nat,val,addr,Nat) != hAPP(bool,val,bool_1,Bool_1),
    file('theBenchmark.p',fact_611_val_Osimps_I21_J) ).

fof(fact_612_val_Osimps_I20_J,axiom,
    ! [Bool_1,Nat] : hAPP(bool,val,bool_1,Bool_1) != hAPP(nat,val,addr,Nat),
    file('theBenchmark.p',fact_612_val_Osimps_I20_J) ).

fof(fact_613_val_Osimps_I1_J,axiom,
    ! [Bool_1,Bool] :
      ( hAPP(bool,val,bool_1,Bool_1) = hAPP(bool,val,bool_1,Bool)
    <=> ( hBOOL(Bool_1)
      <=> hBOOL(Bool) ) ),
    file('theBenchmark.p',fact_613_val_Osimps_I1_J) ).

fof(fact_614_val_Osimps_I6_J,axiom,
    ! [Bool] : unit != hAPP(bool,val,bool_1,Bool),
    file('theBenchmark.p',fact_614_val_Osimps_I6_J) ).

fof(fact_615_val_Osimps_I7_J,axiom,
    ! [Bool] : hAPP(bool,val,bool_1,Bool) != unit,
    file('theBenchmark.p',fact_615_val_Osimps_I7_J) ).

fof(fact_616_val_Osimps_I12_J,axiom,
    ! [Bool] : null != hAPP(bool,val,bool_1,Bool),
    file('theBenchmark.p',fact_616_val_Osimps_I12_J) ).

fof(fact_617_val_Osimps_I13_J,axiom,
    ! [Bool] : hAPP(bool,val,bool_1,Bool) != null,
    file('theBenchmark.p',fact_617_val_Osimps_I13_J) ).

fof(fact_618_preallocated__dom,axiom,
    ! [C_1,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
       => hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),hAPP(list(char),nat,addr_of_sys_xcpt,C_1)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,bool),dom(nat,product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb))) ) ),
    file('theBenchmark.p',fact_618_preallocated__dom) ).

fof(fact_619_binop_Osimps_I5_J,axiom,
    ! [Va,V_2_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(bool,val,bool_1,Va)),V_2_1))) = none(val),
    file('theBenchmark.p',fact_619_binop_Osimps_I5_J) ).

fof(fact_620_preallocatedE,axiom,
    ! [Pa,C_1,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
       => ( ! [Fs_1] :
              ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,C_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(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),Pa,Hb),C_1)) )
         => hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),Pa,Hb),C_1)) ) ) ),
    file('theBenchmark.p',fact_620_preallocatedE) ).

fof(fact_621_preallocatedD,axiom,
    ! [C_1,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
     => ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
       => ? [Fs_1] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,C_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)) ) ),
    file('theBenchmark.p',fact_621_preallocatedD) ).

fof(fact_622_preallocated__def,axiom,
    ! [Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),X_2),sys_xcpts))
         => ? [Fs_1] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,X_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))),X_2),Fs_1)) ) ),
    file('theBenchmark.p',fact_622_preallocated__def) ).

fof(fact_623_is__class__xcpt,axiom,
    ! [X_a,Wf_md,Pa,C_1] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1)) ) ),
    file('theBenchmark.p',fact_623_is__class__xcpt) ).

fof(fact_624_binop_Osimps_I1_J,axiom,
    ! [V_1_2,V_2_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),c_Expr_Obop_OEq),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),hAPP(bool,val,bool_1,hAPP(val,bool,hAPP(val,fun(val,bool),fequal(val),V_1_2),V_2_1))),
    file('theBenchmark.p',fact_624_binop_Osimps_I1_J) ).

fof(fact_625_WhileFReds,axiom,
    ! [C,B,S,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_625_WhileFReds) ).

fof(fact_626_exp_Osimps_I149_J,axiom,
    ! [X_a,Exp1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_626_exp_Osimps_I149_J) ).

fof(fact_627_exp_Osimps_I209_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_627_exp_Osimps_I209_J) ).

fof(fact_628_exp_Osimps_I148_J,axiom,
    ! [X_a,A_5,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_628_exp_Osimps_I148_J) ).

fof(fact_629_exp_Osimps_I208_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_629_exp_Osimps_I208_J) ).

fof(fact_630_exp_Osimps_I179_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_630_exp_Osimps_I179_J) ).

fof(fact_631_exp_Osimps_I178_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_631_exp_Osimps_I178_J) ).

fof(fact_632_exp_Osimps_I200_J,axiom,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_632_exp_Osimps_I200_J) ).

fof(fact_633_exp_Osimps_I201_J,axiom,
    ! [X_a,Exp1,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    file('theBenchmark.p',fact_633_exp_Osimps_I201_J) ).

fof(fact_634_exp_Osimps_I111_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_634_exp_Osimps_I111_J) ).

fof(fact_635_exp_Osimps_I110_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_635_exp_Osimps_I110_J) ).

fof(fact_636_exp_Osimps_I64_J,axiom,
    ! [X_a,List_2,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_636_exp_Osimps_I64_J) ).

fof(fact_637_exp_Osimps_I65_J,axiom,
    ! [X_a,Exp1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_637_exp_Osimps_I65_J) ).

fof(fact_638_exp_Osimps_I165_J,axiom,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_638_exp_Osimps_I165_J) ).

fof(fact_639_exp_Osimps_I164_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_639_exp_Osimps_I164_J) ).

fof(fact_640_exp_Osimps_I222_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_640_exp_Osimps_I222_J) ).

fof(fact_641_exp_Osimps_I223_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_641_exp_Osimps_I223_J) ).

fof(fact_642_exp_Osimps_I13_J,axiom,
    ! [X_a,Exp1_3,Exp2_3,Exp1_2,Exp2_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_2),Exp2_2)
    <=> ( Exp2_3 = Exp2_2
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_642_exp_Osimps_I13_J) ).

fof(fact_643_exp_Osimps_I221_J,axiom,
    ! [X_a,Exp_1,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_643_exp_Osimps_I221_J) ).

fof(fact_644_exp_Osimps_I220_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_644_exp_Osimps_I220_J) ).

fof(fact_645_exp_Osimps_I89_J,axiom,
    ! [X_a,Exp1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_645_exp_Osimps_I89_J) ).

fof(fact_646_exp_Osimps_I88_J,axiom,
    ! [X_a,Val,Exp1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_646_exp_Osimps_I88_J) ).

fof(fact_647_WhileCondThrow,axiom,
    ! [C,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_647_WhileCondThrow) ).

fof(fact_648_bop_Oexhaust,axiom,
    ! [Y] :
      ( ti(bop,Y) != c_Expr_Obop_OEq
     => ti(bop,Y) = add ),
    file('theBenchmark.p',fact_648_bop_Oexhaust) ).

fof(fact_649_bop_Osimps_I2_J,axiom,
    add != c_Expr_Obop_OEq,
    file('theBenchmark.p',fact_649_bop_Osimps_I2_J) ).

fof(fact_650_bop_Osimps_I1_J,axiom,
    c_Expr_Obop_OEq != add,
    file('theBenchmark.p',fact_650_bop_Osimps_I1_J) ).

fof(fact_651_fv__fvs_Osimps_I13_J,axiom,
    ! [B,Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),Eb)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,B)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),
    file('theBenchmark.p',fact_651_fv__fvs_Osimps_I13_J) ).

fof(fact_652_WhileT,axiom,
    ! [E_3,S_3_1,C,V_1_2,S_2_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),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),C),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_2_1))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_2_1),E_3),S_3_1))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),E_3),S_3_1)) ) ) ),
    file('theBenchmark.p',fact_652_WhileT) ).

fof(fact_653_WhileBodyThrow,axiom,
    ! [C,E_b,S_2_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),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),C),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1)) ) ),
    file('theBenchmark.p',fact_653_WhileBodyThrow) ).

fof(fact_654_WhileF,axiom,
    ! [C,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),S_1)) ),
    file('theBenchmark.p',fact_654_WhileF) ).

fof(fact_655_WhileRedsThrow,axiom,
    ! [C,B,S,Eb,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_655_WhileRedsThrow) ).

fof(fact_656_WhileTReds,axiom,
    ! [Eb,S_3_1,C,V_1_2,S_2_1,B,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C),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_2)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_2_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)))),Eb),S_3_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_3_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)))) ) ) ),
    file('theBenchmark.p',fact_656_WhileTReds) ).

fof(fact_657_WhileTRedsThrow,axiom,
    ! [C,Eb,S_2_1,B,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_657_WhileTRedsThrow) ).

fof(fact_658_eval__cases_I11_J,axiom,
    ! [Pa,B,C,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),E_b),S_3))
     => ( ( E_b = hAPP(val,exp(list(char)),val_1(list(char)),unit)
         => ~ 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),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_3)) )
       => ( ! [S_1_1] :
              ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))
             => ! [V_1_1,S_2_2] :
                  ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_2_2))
                 => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_2_2),E_b),S_3)) ) )
         => ( ! [E_1] :
                ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),B),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) )
           => ~ ! [S_1_1,E_1] :
                  ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))
                   => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) ) ) ) ) ) ),
    file('theBenchmark.p',fact_658_eval__cases_I11_J) ).

fof(fact_659_subcls__C__Object,axiom,
    ! [X_a,Wf_md,Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),object)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ),
    file('theBenchmark.p',fact_659_subcls__C__Object) ).

fof(fact_660_red__reds_ORedWhile,axiom,
    ! [B,C,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),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))),
    file('theBenchmark.p',fact_660_red__reds_ORedWhile) ).

fof(fact_661_exp_Osimps_I214_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_661_exp_Osimps_I214_J) ).

fof(fact_662_exp_Osimps_I215_J,axiom,
    ! [X_a,Exp1,Exp2,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    file('theBenchmark.p',fact_662_exp_Osimps_I215_J) ).

fof(fact_663_redp__redsp_OCondRed,axiom,
    ! [E_1_1,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3)) ),
    file('theBenchmark.p',fact_663_redp__redsp_OCondRed) ).

fof(fact_664_exp_Osimps_I86_J,axiom,
    ! [X_a,Val,Exp1,Exp2,Exp3] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_664_exp_Osimps_I86_J) ).

fof(fact_665_exp_Osimps_I87_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_665_exp_Osimps_I87_J) ).

fof(fact_666_exp_Osimps_I216_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_666_exp_Osimps_I216_J) ).

fof(fact_667_exp_Osimps_I217_J,axiom,
    ! [X_a,Exp_1,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    file('theBenchmark.p',fact_667_exp_Osimps_I217_J) ).

fof(fact_668_exp_Osimps_I12_J,axiom,
    ! [X_a,Exp1_3,Exp2_3,Exp3_3,Exp1_2,Exp2_2,Exp3_2] :
      ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_3),Exp2_3),Exp3_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_2),Exp2_2),Exp3_2)
    <=> ( Exp3_3 = Exp3_2
        & Exp2_3 = Exp2_2
        & Exp1_3 = Exp1_2 ) ),
    file('theBenchmark.p',fact_668_exp_Osimps_I12_J) ).

fof(fact_669_exp_Osimps_I219_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    file('theBenchmark.p',fact_669_exp_Osimps_I219_J) ).

fof(fact_670_exp_Osimps_I218_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_670_exp_Osimps_I218_J) ).

fof(fact_671_exp_Osimps_I162_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2,Exp3] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_671_exp_Osimps_I162_J) ).

fof(fact_672_exp_Osimps_I163_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_672_exp_Osimps_I163_J) ).

fof(fact_673_exp_Osimps_I63_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_673_exp_Osimps_I63_J) ).

fof(fact_674_exp_Osimps_I62_J,axiom,
    ! [X_a,List_2,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_674_exp_Osimps_I62_J) ).

fof(fact_675_exp_Osimps_I108_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_675_exp_Osimps_I108_J) ).

fof(fact_676_exp_Osimps_I109_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_676_exp_Osimps_I109_J) ).

fof(fact_677_exp_Osimps_I199_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    file('theBenchmark.p',fact_677_exp_Osimps_I199_J) ).

fof(fact_678_exp_Osimps_I198_J,axiom,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_678_exp_Osimps_I198_J) ).

fof(fact_679_exp_Osimps_I176_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_679_exp_Osimps_I176_J) ).

fof(fact_680_exp_Osimps_I177_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_680_exp_Osimps_I177_J) ).

fof(fact_681_exp_Osimps_I206_J,axiom,
    ! [X_a,Exp1_1,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_681_exp_Osimps_I206_J) ).

fof(fact_682_exp_Osimps_I146_J,axiom,
    ! [X_a,A_5,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_682_exp_Osimps_I146_J) ).

fof(fact_683_exp_Osimps_I207_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    file('theBenchmark.p',fact_683_exp_Osimps_I207_J) ).

fof(fact_684_exp_Osimps_I147_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_684_exp_Osimps_I147_J) ).

fof(fact_685_eval__evals_OCondThrow,axiom,
    ! [E_1_1,E_2,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_685_eval__evals_OCondThrow) ).

fof(fact_686_redp__redsp_OCondThrow,axiom,
    ! [Pa,Eb,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_1_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_686_redp__redsp_OCondThrow) ).

fof(fact_687_fv__fvs_Osimps_I12_J,axiom,
    ! [B,E_1_1,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),E_1_1),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,B)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1))),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    file('theBenchmark.p',fact_687_fv__fvs_Osimps_I12_J) ).

fof(fact_688_red__reds_OCondRed,axiom,
    ! [E_1_1,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_688_red__reds_OCondRed) ).

fof(fact_689_CondF,axiom,
    ! [E_1_1,E_2,E_b,S_2_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),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),E_2),S_1),E_b),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),E_b),S_2_1)) ) ),
    file('theBenchmark.p',fact_689_CondF) ).

fof(fact_690_CondT,axiom,
    ! [E_2,E_1_1,E_b,S_2_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),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),E_1_1),S_1),E_b),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),E_b),S_2_1)) ) ),
    file('theBenchmark.p',fact_690_CondT) ).

fof(fact_691_is__class__Object,axiom,
    ! [X_a,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),object)) ),
    file('theBenchmark.p',fact_691_is__class__Object) ).

fof(fact_692_redp__redsp_ORedCondF,axiom,
    ! [Pa,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),E_1_1),E_2)),S),E_2),S)),
    file('theBenchmark.p',fact_692_redp__redsp_ORedCondF) ).

fof(fact_693_redp__redsp_ORedCondT,axiom,
    ! [Pa,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),E_1_1),E_2)),S),E_1_1),S)),
    file('theBenchmark.p',fact_693_redp__redsp_ORedCondT) ).

fof(fact_694_red__reds_OCondThrow,axiom,
    ! [Eb,E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_694_red__reds_OCondThrow) ).

fof(fact_695_CondReds,axiom,
    ! [E_1_1,E_2,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_695_CondReds) ).

fof(fact_696_CondRedsThrow,axiom,
    ! [E_1_1,E_2,Eb,S,A_1,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_696_CondRedsThrow) ).

fof(fact_697_red__reds_ORedCondT,axiom,
    ! [E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_697_red__reds_ORedCondT) ).

fof(fact_698_red__reds_ORedCondF,axiom,
    ! [E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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))),
    file('theBenchmark.p',fact_698_red__reds_ORedCondF) ).

fof(fact_699_unfold__while,axiom,
    ! [Pa,B,C,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),E_b),S_3))
    <=> hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),S),E_b),S_3)) ),
    file('theBenchmark.p',fact_699_unfold__while) ).

fof(fact_700_redp__redsp_ORedWhile,axiom,
    ! [Pa,B,C,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),S)),
    file('theBenchmark.p',fact_700_redp__redsp_ORedWhile) ).

fof(fact_701_CondReds2T,axiom,
    ! [E_2,E_1_1,E_b,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),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_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_701_CondReds2T) ).

fof(fact_702_CondReds2F,axiom,
    ! [E_1_1,E_2,E_b,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)))),E_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_702_CondReds2F) ).

fof(fact_703_subcls1__induct,axiom,
    ! [X_a,Q_1,C_1,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
       => ( hBOOL(hAPP(list(char),bool,Q_1,object))
         => ( ! [C_2,D_1] :
                ( C_2 != object
               => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
                 => ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),D_1))
                   => ( hBOOL(hAPP(list(char),bool,Q_1,D_1))
                     => hBOOL(hAPP(list(char),bool,Q_1,C_2)) ) ) ) )
           => hBOOL(hAPP(list(char),bool,Q_1,C_1)) ) ) ) ),
    file('theBenchmark.p',fact_703_subcls1__induct) ).

fof(fact_704_wf__cdecl__supD,axiom,
    ! [X_a,Wf_md,Pa,C_1,D_2,R_2] :
      ( hBOOL(hAPP(product_prod(list(char),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))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool)),wf_cdecl(X_a),Wf_md),Pa),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),R_2))))
     => ( C_1 != object
       => hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),D_2)) ) ),
    file('theBenchmark.p',fact_704_wf__cdecl__supD) ).

fof(fact_705_widen__Class,axiom,
    ! [X_a,Pa,Ta,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),Ta),hAPP(list(char),ty,class,C_1)))
    <=> ( ? [D_1] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
            & Ta = hAPP(list(char),ty,class,D_1) )
        | Ta = nt ) ),
    file('theBenchmark.p',fact_705_widen__Class) ).

fof(fact_706_widen__null,axiom,
    ! [X_m,P,C_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),nt),hAPP(list(char),ty,class,C_4))),
    file('theBenchmark.p',fact_706_widen__null) ).

fof(fact_707_ty_Osimps_I20_J,axiom,
    ! [List_3] : nt != hAPP(list(char),ty,class,List_3),
    file('theBenchmark.p',fact_707_ty_Osimps_I20_J) ).

fof(fact_708_ty_Osimps_I21_J,axiom,
    ! [List_3] : hAPP(list(char),ty,class,List_3) != nt,
    file('theBenchmark.p',fact_708_ty_Osimps_I21_J) ).

fof(fact_709_ty_Osimps_I7_J,axiom,
    nt != void,
    file('theBenchmark.p',fact_709_ty_Osimps_I7_J) ).

fof(fact_710_ty_Osimps_I6_J,axiom,
    void != nt,
    file('theBenchmark.p',fact_710_ty_Osimps_I6_J) ).

fof(fact_711_WTrtFAccNT,axiom,
    ! [F_1,D_2,Ta,Pa,Hb,Ea,Eb] :
      ( 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_1,Pa),Hb),Ea),Eb),nt))
     => 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_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta)) ),
    file('theBenchmark.p',fact_711_WTrtFAccNT) ).

fof(fact_712_WTrt_H__WTrts_H_Ointros_I9_J,axiom,
    ! [F_1,D_2,Ta,Pa,Hb,Ea,Eb] :
      ( 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),Hb),Ea),Eb),nt))
     => 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),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta)) ),
    file('theBenchmark.p',fact_712_WTrt_H__WTrts_H_Ointros_I9_J) ).

fof(fact_713_conf__NT,axiom,
    ! [X_a,Pa,Hb,Va] :
      ( 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),Hb),Va),nt))
    <=> Va = null ),
    file('theBenchmark.p',fact_713_conf__NT) ).

fof(fact_714_is__refT__def,axiom,
    ! [Ta] :
      ( hBOOL(hAPP(ty,bool,is_refT,Ta))
    <=> ( ? [C_2] : Ta = hAPP(list(char),ty,class,C_2)
        | Ta = nt ) ),
    file('theBenchmark.p',fact_714_is__refT__def) ).

fof(fact_715_WTrtFAssNT,axiom,
    ! [F_1,D_2,E_2,T_2_2,Pa,Hb,Ea,E_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),nt))
     => ( 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_1,Pa),Hb),Ea),E_2),T_2_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void)) ) ),
    file('theBenchmark.p',fact_715_WTrtFAssNT) ).

fof(fact_716_conf__Null,axiom,
    ! [X_a,Pa,Hb,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),Hb),null),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),nt),Ta)) ),
    file('theBenchmark.p',fact_716_conf__Null) ).

fof(fact_717_WTrt_H__WTrts_H_Ointros_I11_J,axiom,
    ! [F_1,D_2,E_2,T_2_2,Pa,Hb,Ea,E_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),nt))
     => ( 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),Hb),Ea),E_2),T_2_2))
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void)) ) ),
    file('theBenchmark.p',fact_717_WTrt_H__WTrts_H_Ointros_I11_J) ).

fof(fact_718_typeof__h_Osimps_I2_J,axiom,
    ! [Hb] : 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,Hb),null) = hAPP(ty,option(ty),some(ty),nt),
    file('theBenchmark.p',fact_718_typeof__h_Osimps_I2_J) ).

fof(fact_719_WTrt__elim__cases_I7_J,axiom,
    ! [Pa,Hb,Ea,Eb,F_1,D_2,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_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta))
     => ( ! [C_2] :
            ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_2)))
           => ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_2),F_1),Ta),D_2)) )
       => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),nt)) ) ),
    file('theBenchmark.p',fact_719_WTrt__elim__cases_I7_J) ).

fof(fact_720_widen_Osimps,axiom,
    ! [X_a,Pa,A1,A2] :
      ( 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),A1),A2))
    <=> ( ? [C_2] :
            ( A2 = hAPP(list(char),ty,class,C_2)
            & A1 = nt )
        | ? [C_2,D_1] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
            & A2 = hAPP(list(char),ty,class,D_1)
            & A1 = hAPP(list(char),ty,class,C_2) )
        | ? [T_5] :
            ( A2 = T_5
            & A1 = T_5 ) ) ),
    file('theBenchmark.p',fact_720_widen_Osimps) ).

fof(fact_721_WTrt__elim__cases_I8_J,axiom,
    ! [Pa,Hb,Ea,Eb,F_1,D_2,Va,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),Va)),Ta))
     => ( ( Ta = void
         => ! [C_2] :
              ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_2)))
             => ! [T_5] :
                  ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_2),F_1),T_5),D_2))
                 => ! [T_2_1] :
                      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Va),T_2_1))
                     => ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_1),T_5)) ) ) ) )
       => ~ ( Ta = void
           => ( 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_1,Pa),Hb),Ea),Eb),nt))
             => ! [T_2_1] : ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Va),T_2_1)) ) ) ) ),
    file('theBenchmark.p',fact_721_WTrt__elim__cases_I8_J) ).

fof(fact_722_refTE,axiom,
    ! [T_3] :
      ( hBOOL(hAPP(ty,bool,is_refT,T_3))
     => ( T_3 != nt
       => ~ ! [C_2] : T_3 != hAPP(list(char),ty,class,C_2) ) ),
    file('theBenchmark.p',fact_722_refTE) ).

fof(fact_723_typeof__lit__is__type,axiom,
    ! [X_a,Pa,Va,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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) = hAPP(ty,option(ty),some(ty),Ta)
     => hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta)) ),
    file('theBenchmark.p',fact_723_typeof__lit__is__type) ).

fof(fact_724_wf__fdecl__def,axiom,
    ! [X_a,Pa] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),ty),bool),wf_fdecl(X_a),Pa) = hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,bool),fun(list(char),fun(ty,bool)),combk(fun(ty,bool),list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,bool),is_type(X_a),Pa))),
    file('theBenchmark.p',fact_724_wf__fdecl__def) ).

fof(fact_725_subcls1_Ointros,axiom,
    ! [X_a,Pa,C_1,D_2,Rest_2] :
      ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),Rest_2))
     => ( C_1 != object
       => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) ) ),
    file('theBenchmark.p',fact_725_subcls1_Ointros) ).

fof(fact_726_subcls1p_Ointros,axiom,
    ! [X_m,P,C_4,D_4,Rest_1] :
      ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),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(list(char),option(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)))))))),class_1(X_m),P),C_4) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))),D_4),Rest_1))
     => ( C_4 != object
       => hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_m),P),C_4),D_4)) ) ),
    file('theBenchmark.p',fact_726_subcls1p_Ointros) ).

fof(fact_727_class__wf,axiom,
    ! [X_a,Wf_md,Pa,C_1,C] :
      ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = hAPP(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)))))),option(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))))))),some(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))))))),C)
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => hBOOL(hAPP(product_prod(list(char),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))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool)),wf_cdecl(X_a),Wf_md),Pa),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),C))) ) ),
    file('theBenchmark.p',fact_727_class__wf) ).

fof(fact_728_subcls1D,axiom,
    ! [X_a,C_1,D_2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
     => ( ? [Fs_1,Ms_1] : hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs_1),Ms_1)))
        & C_1 != object ) ),
    file('theBenchmark.p',fact_728_subcls1D) ).

fof(fact_729_subcls1_Osimps,axiom,
    ! [X_a,A1,A2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),A1),A2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
    <=> ? [C_2,D_1,Rest] :
          ( C_2 != object
          & hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
          & A2 = D_1
          & A1 = C_2 ) ),
    file('theBenchmark.p',fact_729_subcls1_Osimps) ).

fof(fact_730_subcls1p_Osimps,axiom,
    ! [X_a,Pa,A1,A2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),A1),A2))
    <=> ? [C_2,D_1,Rest] :
          ( C_2 != object
          & hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
          & A2 = D_1
          & A1 = C_2 ) ),
    file('theBenchmark.p',fact_730_subcls1p_Osimps) ).

fof(fact_731_class__Object,axiom,
    ! [X_a,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ? [C_2,Fs_1,Ms_1] : hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),object) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),C_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs_1),Ms_1))) ),
    file('theBenchmark.p',fact_731_class__Object) ).

fof(fact_732_is__class__def,axiom,
    ! [X_a,Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
    <=> hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) != none(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))))))) ),
    file('theBenchmark.p',fact_732_is__class__def) ).

fof(fact_733_eval__cases_I10_J,axiom,
    ! [Pa,Eb,E_1_1,E_2,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S),E_b),S_3))
     => ( ! [S_1_1] :
            ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))
           => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_1_1),E_b),S_3)) )
       => ( ! [S_1_1] :
              ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1_1))
             => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),E_b),S_3)) )
         => ~ ! [E_1] :
                ( E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) ) ) ) ),
    file('theBenchmark.p',fact_733_eval__cases_I10_J) ).

fof(fact_734_is__type__def,axiom,
    ! [X_a,Pa,Ta] :
      ( hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta))
    <=> hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa)),Ta)) ),
    file('theBenchmark.p',fact_734_is__type__def) ).

fof(fact_735_red__reds_ORedNewFail,axiom,
    ! [C_1,Lb,Pa,Hb] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = none(nat)
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_735_red__reds_ORedNewFail) ).

fof(fact_736_WTrtNew,axiom,
    ! [Hb,Ea,Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
     => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(list(char),ty,class,C_1))) ),
    file('theBenchmark.p',fact_736_WTrtNew) ).

fof(fact_737_WTrt__elim__cases_I10_J,axiom,
    ! [Pa,Hb,Ea,C_1,Ta] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),Ta))
     => ~ ( Ta = hAPP(list(char),ty,class,C_1)
         => ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1)) ) ),
    file('theBenchmark.p',fact_737_WTrt__elim__cases_I10_J) ).

fof(fact_738_exp_Osimps_I36_J,axiom,
    ! [X_a,List_2,Exp1,Exp2,Exp3] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_738_exp_Osimps_I36_J) ).

fof(fact_739_exp_Osimps_I37_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_739_exp_Osimps_I37_J) ).

fof(fact_740__092_060D_062___092_060D_062s_Osimps_I1_J,axiom,
    ! [X_a,C_1,A_2] : hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(list(char),exp(X_a),new(X_a),C_1)),A_2)),
    file('theBenchmark.p',fact_740__092_060D_062___092_060D_062s_Osimps_I1_J) ).

fof(fact_741_exp_Osimps_I19_J,axiom,
    ! [X_a,Val_1,List_2] : hAPP(val,exp(X_a),val_1(X_a),Val_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_741_exp_Osimps_I19_J) ).

fof(fact_742_exp_Osimps_I18_J,axiom,
    ! [X_a,List_2,Val_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(val,exp(X_a),val_1(X_a),Val_1),
    file('theBenchmark.p',fact_742_exp_Osimps_I18_J) ).

fof(fact_743_exp_Osimps_I41_J,axiom,
    ! [X_a,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_743_exp_Osimps_I41_J) ).

fof(fact_744_exp_Osimps_I40_J,axiom,
    ! [X_a,List_2,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_744_exp_Osimps_I40_J) ).

fof(fact_745_exp_Osimps_I1_J,axiom,
    ! [X_a,List,List_1] :
      ( hAPP(list(char),exp(X_a),new(X_a),List) = hAPP(list(char),exp(X_a),new(X_a),List_1)
    <=> List = List_1 ),
    file('theBenchmark.p',fact_745_exp_Osimps_I1_J) ).

fof(fact_746_exp_Osimps_I43_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_746_exp_Osimps_I43_J) ).

fof(fact_747_exp_Osimps_I42_J,axiom,
    ! [X_a,List_2,Exp1,List_3,A_6,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_747_exp_Osimps_I42_J) ).

fof(fact_748_exp_Osimps_I27_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,List_2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_748_exp_Osimps_I27_J) ).

fof(fact_749_exp_Osimps_I26_J,axiom,
    ! [X_a,List_2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_749_exp_Osimps_I26_J) ).

fof(fact_750_exp_Osimps_I17_J,axiom,
    ! [X_a,List_3,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_3),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_750_exp_Osimps_I17_J) ).

fof(fact_751_exp_Osimps_I16_J,axiom,
    ! [X_a,List_2,List_3,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_3),Exp_1),
    file('theBenchmark.p',fact_751_exp_Osimps_I16_J) ).

fof(fact_752_exp_Osimps_I21_J,axiom,
    ! [X_a,Exp1,Bop_1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_752_exp_Osimps_I21_J) ).

fof(fact_753_exp_Osimps_I20_J,axiom,
    ! [X_a,List_2,Exp1,Bop_1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    file('theBenchmark.p',fact_753_exp_Osimps_I20_J) ).

fof(fact_754_exp_Osimps_I32_J,axiom,
    ! [X_a,List_2,A_6,Ty,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_754_exp_Osimps_I32_J) ).

fof(fact_755_exp_Osimps_I33_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_755_exp_Osimps_I33_J) ).

fof(fact_756_exp_Osimps_I29_J,axiom,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_756_exp_Osimps_I29_J) ).

fof(fact_757_exp_Osimps_I28_J,axiom,
    ! [X_a,List_2,Exp1,List1_1,List2_1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    file('theBenchmark.p',fact_757_exp_Osimps_I28_J) ).

fof(fact_758_exp_Osimps_I34_J,axiom,
    ! [X_a,List_2,Exp1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_758_exp_Osimps_I34_J) ).

fof(fact_759_exp_Osimps_I24_J,axiom,
    ! [X_a,List_2,A_6,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    file('theBenchmark.p',fact_759_exp_Osimps_I24_J) ).

fof(fact_760_exp_Osimps_I35_J,axiom,
    ! [X_a,Exp1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_760_exp_Osimps_I35_J) ).

fof(fact_761_exp_Osimps_I25_J,axiom,
    ! [X_a,A_6,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_761_exp_Osimps_I25_J) ).

fof(fact_762_exp_Osimps_I38_J,axiom,
    ! [X_a,List_2,Exp1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_762_exp_Osimps_I38_J) ).

fof(fact_763_exp_Osimps_I39_J,axiom,
    ! [X_a,Exp1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_763_exp_Osimps_I39_J) ).

fof(fact_764_new__Addr__SomeD,axiom,
    ! [Hb,A_1] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = hAPP(nat,option(nat),some(nat),A_1)
     => hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))) ),
    file('theBenchmark.p',fact_764_new__Addr__SomeD) ).

fof(fact_765_ty_Osimps_I26_J,axiom,
    ! [X_a,F1_1,F2_1,F3,F4,F5,List] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),hAPP(list(char),ty,class,List)) = hAPP(list(char),X_a,F5,List),
    file('theBenchmark.p',fact_765_ty_Osimps_I26_J) ).

fof(fact_766_ty_Osimps_I22_J,axiom,
    ! [X_a,F1_1,F2_1,F3,F4,F5] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),void) = ti(X_a,F1_1),
    file('theBenchmark.p',fact_766_ty_Osimps_I22_J) ).

fof(fact_767_ty_Osimps_I25_J,axiom,
    ! [X_a,F1_1,F2_1,F3,F4,F5] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),nt) = ti(X_a,F4),
    file('theBenchmark.p',fact_767_ty_Osimps_I25_J) ).

fof(fact_768_WTrt_H__WTrts_H_Ointros_I1_J,axiom,
    ! [Hb,Ea,Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
     => hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(list(char),ty,class,C_1))) ),
    file('theBenchmark.p',fact_768_WTrt_H__WTrts_H_Ointros_I1_J) ).

fof(fact_769_NewFail,axiom,
    ! [Pa,C_1,Lb,Hb] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = none(nat)
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb))) ),
    file('theBenchmark.p',fact_769_NewFail) ).

fof(fact_770_redp__redsp_ORedNewFail,axiom,
    ! [Pa,C_1,Lb,Hb] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = none(nat)
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb))) ),
    file('theBenchmark.p',fact_770_redp__redsp_ORedNewFail) ).

fof(fact_771_red__reds_ORedNew,axiom,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = hAPP(nat,option(nat),some(nat),A_1)
     => ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
       => ( H_b = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
         => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ) ) ),
    file('theBenchmark.p',fact_771_red__reds_ORedNew) ).

fof(fact_772_redp__redsp_ORedNew,axiom,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = hAPP(nat,option(nat),some(nat),A_1)
     => ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
       => ( H_b = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb))) ) ) ),
    file('theBenchmark.p',fact_772_redp__redsp_ORedNew) ).

fof(fact_773_has__fields__fun,axiom,
    ! [X_a,FDTs_3,P,C_4,FDTs_2] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_2))
     => ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_3))
       => FDTs_3 = FDTs_2 ) ),
    file('theBenchmark.p',fact_773_has__fields__fun) ).

fof(fact_774_oconf__init__fields,axiom,
    ! [X_a,Hb,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs))
     => hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs)))) ),
    file('theBenchmark.p',fact_774_oconf__init__fields) ).

fof(fact_775_New,axiom,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) = hAPP(nat,option(nat),some(nat),A_1)
     => ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
       => ( H_b = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb))) ) ) ),
    file('theBenchmark.p',fact_775_New) ).

fof(fact_776_wf__Fields__Ex,axiom,
    ! [X_a,C_1,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
       => ? [X1] : hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),X1)) ) ),
    file('theBenchmark.p',fact_776_wf__Fields__Ex) ).

fof(fact_777_blank__def,axiom,
    ! [X_a,Pa,C_1] : hAPP(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),Pa),C_1) = 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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(X_a),Pa),C_1))),
    file('theBenchmark.p',fact_777_blank__def) ).

fof(fact_778_fields__def2,axiom,
    ! [X_a,P,C_4,FDTs_2] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_2))
     => hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(X_a),P),C_4) = FDTs_2 ),
    file('theBenchmark.p',fact_778_fields__def2) ).

fof(fact_779_has__fields__Object,axiom,
    ! [X_a,FDTs,Pa,D_2,Fs,Ms] :
      ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),object) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))
     => ( FDTs = hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),object)))),Fs)
       => hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),object),FDTs)) ) ),
    file('theBenchmark.p',fact_779_has__fields__Object) ).

fof(fact_780_sees__field__decl__above,axiom,
    ! [X_a,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1),Ta),D_2))
     => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    file('theBenchmark.p',fact_780_sees__field__decl__above) ).

fof(fact_781_sees__field__fun,axiom,
    ! [X_a,T_4,D_5,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4))
     => ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_4),D_5))
       => ( D_5 = D_4
          & T_4 = T_3 ) ) ),
    file('theBenchmark.p',fact_781_sees__field__fun) ).

fof(fact_782_sees__field__idemp,axiom,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4))
     => hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),D_4),F_2),T_3),D_4)) ),
    file('theBenchmark.p',fact_782_sees__field__idemp) ).

fof(fact_783_has__visible__field,axiom,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4))
     => hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),P),C_4),F_2),T_3),D_4)) ),
    file('theBenchmark.p',fact_783_has__visible__field) ).

fof(fact_784_sees__field__is__type,axiom,
    ! [X_a,Wf_md,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1),Ta),D_2))
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta)) ) ),
    file('theBenchmark.p',fact_784_sees__field__is__type) ).

fof(fact_785_has__fields__rec,axiom,
    ! [X_a,FDTs_1,FDTs,Pa,C_1,D_2,Fs,Ms] :
      ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))
     => ( C_1 != object
       => ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),D_2),FDTs))
         => ( FDTs_1 = hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),append(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),C_1)))),Fs)),FDTs)
           => hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs_1)) ) ) ) ),
    file('theBenchmark.p',fact_785_has__fields__rec) ).

fof(fact_786_bop_Osimps_I3_J,axiom,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_case(X_t),F1),F2),c_Expr_Obop_OEq) = ti(X_t,F1),
    file('theBenchmark.p',fact_786_bop_Osimps_I3_J) ).

fof(fact_787_bop_Osimps_I4_J,axiom,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_case(X_t),F1),F2),add) = ti(X_t,F2),
    file('theBenchmark.p',fact_787_bop_Osimps_I4_J) ).

fof(fact_788_map__append,axiom,
    ! [X_b,X_a,F,Xs,Ys] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),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),Ys)),
    file('theBenchmark.p',fact_788_map__append) ).

fof(fact_789_bop_Orecs_I1_J,axiom,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_rec(X_t),F1),F2),c_Expr_Obop_OEq) = ti(X_t,F1),
    file('theBenchmark.p',fact_789_bop_Orecs_I1_J) ).

fof(fact_790_append__assoc,axiom,
    ! [X_a,Xs_1,Ys_1,Zs_2] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1)),Zs_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2)),
    file('theBenchmark.p',fact_790_append__assoc) ).

fof(fact_791_append__eq__append__conv2,axiom,
    ! [X_a,Xs,Ys,Zs,Ts_5] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Ts_5)
    <=> ? [Us] :
          ( ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ts_5)
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us) = Zs )
          | ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys) = Ts_5
            & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Us) ) ) ),
    file('theBenchmark.p',fact_791_append__eq__append__conv2) ).

fof(fact_792_same__append__eq,axiom,
    ! [X_a,Xs,Ys,Zs] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)
    <=> Ys = Zs ),
    file('theBenchmark.p',fact_792_same__append__eq) ).

fof(fact_793_append__same__eq,axiom,
    ! [X_a,Ys,Xs,Zs] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Xs)
    <=> Ys = Zs ),
    file('theBenchmark.p',fact_793_append__same__eq) ).

fof(fact_794_append__eq__appendI,axiom,
    ! [X_a,Ys_1,Us_3,Xs_1,Xs1,Zs_2] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Xs1) = Zs_2
     => ( Ys_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Us_3)
       => hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_2),Us_3) ) ),
    file('theBenchmark.p',fact_794_append__eq__appendI) ).

fof(fact_795_map__ident,axiom,
    ! [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),combi(X_a)),X_2) = X_2,
    file('theBenchmark.p',fact_795_map__ident) ).

fof(fact_796_bop_Orecs_I2_J,axiom,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_rec(X_t),F1),F2),add) = ti(X_t,F2),
    file('theBenchmark.p',fact_796_bop_Orecs_I2_J) ).

fof(fact_797_red__reds_ORedCallNull,axiom,
    ! [M,Vs_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    file('theBenchmark.p',fact_797_red__reds_ORedCallNull) ).

fof(fact_798_redp__redsp_ORedCallNull,axiom,
    ! [Pa,M,Vs_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    file('theBenchmark.p',fact_798_redp__redsp_ORedCallNull) ).

fof(fact_799_exp_Osimps_I30_J,axiom,
    ! [X_a,List_2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_799_exp_Osimps_I30_J) ).

fof(fact_800_exp_Osimps_I31_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,List_2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    file('theBenchmark.p',fact_800_exp_Osimps_I31_J) ).

fof(fact_801_exp_Osimps_I188_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2,Exp3] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    file('theBenchmark.p',fact_801_exp_Osimps_I188_J) ).

fof(fact_802_exp_Osimps_I189_J,axiom,
    ! [X_a,Exp1,Exp2,Exp3,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_802_exp_Osimps_I189_J) ).

fof(fact_803_CallObjThrow,axiom,
    ! [M,Ps,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    file('theBenchmark.p',fact_803_CallObjThrow) ).

fof(fact_804_exp_Osimps_I80_J,axiom,
    ! [X_a,Val,Exp_1,List1_1,List2_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_804_exp_Osimps_I80_J) ).

fof(fact_805_exp_Osimps_I81_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Val] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    file('theBenchmark.p',fact_805_exp_Osimps_I81_J) ).

fof(fact_806_exp_Osimps_I192_J,axiom,
    ! [X_a,Exp,List1,List2,Exp_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    file('theBenchmark.p',fact_806_exp_Osimps_I192_J) ).

fof(fact_807_exp_Osimps_I193_J,axiom,
    ! [X_a,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_807_exp_Osimps_I193_J) ).

fof(fact_808_exp_Osimps_I9_J,axiom,
    ! [X_a,Exp_3,List1_3,List2_3,Exp_2,List1_2,List2_2] :
      ( hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1_3),List2_3) = hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_2),List1_2),List2_2)
    <=> ( List2_3 = List2_2
        & List1_3 = List1_2
        & Exp_3 = Exp_2 ) ),
    file('theBenchmark.p',fact_808_exp_Osimps_I9_J) ).

fof(fact_809_redp__redsp_OCallObj,axiom,
    ! [M,Esa,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3)) ),
    file('theBenchmark.p',fact_809_redp__redsp_OCallObj) ).

fof(fact_810_exp_Osimps_I195_J,axiom,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_810_exp_Osimps_I195_J) ).

fof(fact_811_exp_Osimps_I194_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,List_3,A_6,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    file('theBenchmark.p',fact_811_exp_Osimps_I194_J) ).

fof(fact_812_exp_Osimps_I156_J,axiom,
    ! [X_a,Exp,List1,List2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_812_exp_Osimps_I156_J) ).

fof(fact_813_exp_Osimps_I157_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Exp,List1,List2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_813_exp_Osimps_I157_J) ).

fof(fact_814_exp_Osimps_I57_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,List_2,Exp] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    file('theBenchmark.p',fact_814_exp_Osimps_I57_J) ).

fof(fact_815_exp_Osimps_I56_J,axiom,
    ! [X_a,List_2,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_815_exp_Osimps_I56_J) ).

fof(fact_816_exp_Osimps_I102_J,axiom,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_816_exp_Osimps_I102_J) ).

fof(fact_817_exp_Osimps_I103_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,Bop,Exp2_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    file('theBenchmark.p',fact_817_exp_Osimps_I103_J) ).

fof(fact_818_exp_Osimps_I184_J,axiom,
    ! [X_a,Exp,List1,List2,A_6,Ty,Exp_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    file('theBenchmark.p',fact_818_exp_Osimps_I184_J) ).

fof(fact_819_exp_Osimps_I185_J,axiom,
    ! [X_a,A_6,Ty,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_819_exp_Osimps_I185_J) ).

fof(fact_820_exp_Osimps_I170_J,axiom,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_820_exp_Osimps_I170_J) ).

fof(fact_821_exp_Osimps_I171_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,List1,List2,Exp2_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    file('theBenchmark.p',fact_821_exp_Osimps_I171_J) ).

fof(fact_822_exp_Osimps_I187_J,axiom,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_822_exp_Osimps_I187_J) ).

fof(fact_823_exp_Osimps_I140_J,axiom,
    ! [X_a,A_5,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    file('theBenchmark.p',fact_823_exp_Osimps_I140_J) ).

fof(fact_824_exp_Osimps_I186_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_824_exp_Osimps_I186_J) ).

fof(fact_825_exp_Osimps_I141_J,axiom,
    ! [X_a,Exp_1,List1_1,List2_1,A_5,Exp] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    file('theBenchmark.p',fact_825_exp_Osimps_I141_J) ).

fof(fact_826_exp_Osimps_I191_J,axiom,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    file('theBenchmark.p',fact_826_exp_Osimps_I191_J) ).

fof(fact_827_exp_Osimps_I190_J,axiom,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    file('theBenchmark.p',fact_827_exp_Osimps_I190_J) ).

fof(fact_828_redp__redsp_OCallThrowObj,axiom,
    ! [Pa,Eb,M,Esa,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),M),Esa)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    file('theBenchmark.p',fact_828_redp__redsp_OCallThrowObj) ).

fof(fact_829_red__reds_OCallObj,axiom,
    ! [M,Esa,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_829_red__reds_OCallObj) ).

fof(fact_830_red__reds_OCallThrowObj,axiom,
    ! [Eb,M,Esa,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    file('theBenchmark.p',fact_830_red__reds_OCallThrowObj) ).

fof(fact_831_CallRedsObj,axiom,
    ! [M,Esa,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_831_CallRedsObj) ).

fof(fact_832_CallRedsThrowObj,axiom,
    ! [M,Esa,Eb,S0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_832_CallRedsThrowObj) ).

fof(fact_833_CallRedsNull,axiom,
    ! [M,Esa,Vs_1,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_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)))) ) ),
    file('theBenchmark.p',fact_833_CallRedsNull) ).

fof(fact_834_CallNull,axiom,
    ! [M,Ps,Vs_1,S_2_1,Pa,Eb,S_0,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Ps),S_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))),Vs_1)),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1)) ) ),
    file('theBenchmark.p',fact_834_CallNull) ).

fof(fact_835_extend__1__evals,axiom,
    ! [Es_a,T_8,Esa,T_7,Es_3,T_6,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),T_7)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_3),T_6))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es_3),T_6),Es_a),T_8))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),T_7),Es_a),T_8)) ) ) ),
    file('theBenchmark.p',fact_835_extend__1__evals) ).

fof(fact_836_extend__evals,axiom,
    ! [Es_a,S_3,Esa,S,Es_3,S_4,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_3),S_4))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es_3),S_4),Es_a),S_3))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3)) ) ) ),
    file('theBenchmark.p',fact_836_extend__evals) ).

fof(fact_837_bigs__by__smalls,axiom,
    ! [Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3))
       => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ) ),
    file('theBenchmark.p',fact_837_bigs__by__smalls) ).

fof(fact_838_evals__hext,axiom,
    ! [Pa,Esa,Hb,Lb,Es_a,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),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))),Hb),Lb)),Es_a),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_b),L_b)))
     => 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,Hb),H_b)) ),
    file('theBenchmark.p',fact_838_evals__hext) ).

fof(fact_839_reds__hext__incr,axiom,
    ! [Esa,Hb,Lb,Es_a,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Hb),H_b)) ),
    file('theBenchmark.p',fact_839_reds__hext__incr) ).

fof(fact_840_evals__lcl__incr,axiom,
    ! [Pa,Esa,H_0,L_0,Es_a,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),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_0),L_0)),Es_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
     => hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1))) ),
    file('theBenchmark.p',fact_840_evals__lcl__incr) ).

fof(fact_841_red__reds_OCallParams,axiom,
    ! [Va,M,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    file('theBenchmark.p',fact_841_red__reds_OCallParams) ).

fof(fact_842_CallRedsParams,axiom,
    ! [Va,M,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    file('theBenchmark.p',fact_842_CallRedsParams) ).

fof(fact_843_CallRedsThrowParams,axiom,
    ! [M,Esa,Vs_1_1,A_1,Es_2,S_2_1,Eb,S0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),Es_2))),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ) ),
    file('theBenchmark.p',fact_843_CallRedsThrowParams) ).

fof(fact_844_fv__fvs_Osimps_I9_J,axiom,
    ! [Eb,M,Esa] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,Esa)),
    file('theBenchmark.p',fact_844_fv__fvs_Osimps_I9_J) ).

fof(fact_845_Cons__eq__appendI,axiom,
    ! [X_a,Xs_1,Zs_2,X,Xs1,Ys_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1) = Ys_1
     => ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_2)
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2) ) ),
    file('theBenchmark.p',fact_845_Cons__eq__appendI) ).

fof(fact_846_append__Cons,axiom,
    ! [X_a,X,Xs_1,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1)),
    file('theBenchmark.p',fact_846_append__Cons) ).

fof(fact_847_not__Cons__self,axiom,
    ! [X_a,Xs_1,X] : Xs_1 != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1),
    file('theBenchmark.p',fact_847_not__Cons__self) ).

fof(fact_848_not__Cons__self2,axiom,
    ! [X_a,X,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) != Xs_1,
    file('theBenchmark.p',fact_848_not__Cons__self2) ).

fof(fact_849_list_Oinject,axiom,
    ! [X_a,A_1,List,A_4,List_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),List) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_4),List_1)
    <=> ( List = List_1
        & ti(X_a,A_1) = ti(X_a,A_4) ) ),
    file('theBenchmark.p',fact_849_list_Oinject) ).

fof(fact_850_fv__fvs_Osimps_I17_J,axiom,
    ! [Eb,Esa] : hAPP(list(exp(list(char))),fun(list(char),bool),fvs,hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,Esa)),
    file('theBenchmark.p',fact_850_fv__fvs_Osimps_I17_J) ).

fof(fact_851_map_Osimps_I2_J,axiom,
    ! [X_b,X_a,F,X_1,Xs] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs)),
    file('theBenchmark.p',fact_851_map_Osimps_I2_J) ).

fof(fact_852_eval__evals_OCons,axiom,
    ! [Esa,Es_a,S_2_1,Pa,Eb,S_0,Va,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1),Es_a),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_2_1)) ) ),
    file('theBenchmark.p',fact_852_eval__evals_OCons) ).

fof(fact_853_ConsThrow,axiom,
    ! [Esa,Pa,Eb,S_0,E_b,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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),Esa)),S_1)) ),
    file('theBenchmark.p',fact_853_ConsThrow) ).

fof(fact_854_red__reds_OListRed2,axiom,
    ! [Va,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    file('theBenchmark.p',fact_854_red__reds_OListRed2) ).

fof(fact_855_redp__redsp_OCallThrowParams,axiom,
    ! [Pa,Va,M,S,Esa,Vs_1,Eb,Es_a] :
      ( Esa = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Es_a))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)) ),
    file('theBenchmark.p',fact_855_redp__redsp_OCallThrowParams) ).

fof(fact_856_list__eval__Throw,axiom,
    ! [Vs_1,Es_a,Pa,X_1,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),Es_a))),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Es_a))),S_3)) ),
    file('theBenchmark.p',fact_856_list__eval__Throw) ).

fof(fact_857_ListReds2,axiom,
    ! [Va,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ),
    file('theBenchmark.p',fact_857_ListReds2) ).

fof(fact_858_red__reds_OListRed1,axiom,
    ! [Esa,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
     => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    file('theBenchmark.p',fact_858_red__reds_OListRed1) ).

fof(fact_859_CallParamsThrow,axiom,
    ! [M,Esa,Vs_1,Ex,Es_a,S_2_1,Pa,Eb,S_0,Va,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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),Es_a))),S_2_1))
       => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),S_2_1)) ) ),
    file('theBenchmark.p',fact_859_CallParamsThrow) ).

fof(fact_860_red__reds_OCallThrowParams,axiom,
    ! [Va,M,S,Pa,Esa,Vs_1,Eb,Es_a] :
      ( Esa = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Es_a))
     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))) ),
    file('theBenchmark.p',fact_860_red__reds_OCallThrowParams) ).

fof(fact_861_ListReds1,axiom,
    ! [Esa,Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ),
    file('theBenchmark.p',fact_861_ListReds1) ).

fof(fact_862_ListRedsVal,axiom,
    ! [Esa,Es_a,S_2_1,Eb,S_0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
       => hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ) ),
    file('theBenchmark.p',fact_862_ListRedsVal) ).

fof(fact_863_finals__app__map,axiom,
    ! [X_a,Vs_1,Esa] :
      ( hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_1)),Esa)))
    <=> hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa)) ),
    file('theBenchmark.p',fact_863_finals__app__map) ).

fof(fact_864_evals__cases_I2_J,axiom,
    ! [Pa,Eb,Esa,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S),E_b),S_3))
     => ( ! [V,S_1_1,Es] :
            ( E_b = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V)),Es)
           => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),S_1_1))
             => ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1_1),Es),S_3)) ) )
       => ~ ! [E_1] :
              ( E_b = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),Esa)
             => ~ 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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3)) ) ) ),
    file('theBenchmark.p',fact_864_evals__cases_I2_J) ).

fof(fact_865_evals__final,axiom,
    ! [Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3))
     => hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Es_a)) ),
    file('theBenchmark.p',fact_865_evals__final) ).

fof(fact_866_eval__finalsId,axiom,
    ! [Pa,S,Esa] :
      ( hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Esa))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Esa),S)) ),
    file('theBenchmark.p',fact_866_eval__finalsId) ).

fof(fact_867_not__finals__ConsI,axiom,
    ! [X_a,Es_1,E] :
      ( ~ hBOOL(hAPP(exp(X_a),bool,final(X_a),E))
     => ~ hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),E),Es_1))) ),
    file('theBenchmark.p',fact_867_not__finals__ConsI) ).

fof(fact_868_finals__def,axiom,
    ! [X_a,Esa] :
      ( hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa))
    <=> ( ? [Vs_2,A_3,Es] : Esa = hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2)),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))),Es))
        | ? [Vs_2] : Esa = hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2) ) ),
    file('theBenchmark.p',fact_868_finals__def) ).

fof(fact_869_map__eq__Cons__conv,axiom,
    ! [X_b,X_a,F,Xs,Y_1,Ys] :
      ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)
    <=> ? [Z,Zs_1] :
          ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1) = Ys
          & hAPP(X_b,X_a,F,Z) = ti(X_a,Y_1)
          & Xs = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) ) ),
    file('theBenchmark.p',fact_869_map__eq__Cons__conv) ).

fof(fact_870_Cons__eq__map__conv,axiom,
    ! [X_a,X_b,X_1,Xs,F,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Ys)
    <=> ? [Z,Zs_1] :
          ( Xs = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1)
          & ti(X_a,X_1) = hAPP(X_b,X_a,F,Z)
          & Ys = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) ) ),
    file('theBenchmark.p',fact_870_Cons__eq__map__conv) ).

fof(fact_871_reds__preserves__sconf,axiom,
    ! [Ea,Ts,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),Ea),Esa),Ts))
       => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
         => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S_3)) ) ) ),
    file('theBenchmark.p',fact_871_reds__preserves__sconf) ).

fof(fact_872_WTrtCons,axiom,
    ! [Esa,Ts,Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),Ta))
     => ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),Hb),Ea),Esa),Ts))
       => 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_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Ta),Ts))) ) ),
    file('theBenchmark.p',fact_872_WTrtCons) ).

fof(fact_873_WTrts__hext__mono,axiom,
    ! [H_b,Pa,Hb,Ea,Esa,Ts] :
      ( 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_1,Pa),Hb),Ea),Esa),Ts))
     => ( 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,Hb),H_b))
       => 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_1,Pa),H_b),Ea),Esa),Ts)) ) ),
    file('theBenchmark.p',fact_873_WTrts__hext__mono) ).

fof(fact_874_WTrtCallNT,axiom,
    ! [M,Ta,Esa,Ts,Pa,Hb,Ea,Eb] :
      ( 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_1,Pa),Hb),Ea),Eb),nt))
     => ( 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_1,Pa),Hb),Ea),Esa),Ts))
       => 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_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta)) ) ),
    file('theBenchmark.p',fact_874_WTrtCallNT) ).

fof(fact_875_WTrts__Val,axiom,
    ! [Pa,Hb,Ea,Vs_1,Ts] :
      ( 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_1,Pa),Hb),Ea),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),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,Hb)),Vs_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) ),
    file('theBenchmark.p',fact_875_WTrts__Val) ).

fof(fact_876_reds__preserves__hconf,axiom,
    ! [Ea,Ts,Esa,Hb,Lb,Es_a,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),Hb),Ea),Esa),Ts))
       => ( 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),Hb))
         => 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_b)) ) ) ),
    file('theBenchmark.p',fact_876_reds__preserves__hconf) ).

fof(fact_877_reds__preserves__lconf,axiom,
    ! [Ea,Ts,Esa,Hb,Lb,Es_a,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
     => ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),Hb),Ea),Esa),Ts))
       => ( 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),Hb),Lb),Ea))
         => 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_b),L_b),Ea)) ) ) ),
    file('theBenchmark.p',fact_877_reds__preserves__lconf) ).

fof(fact_878_redsp__reds__eq,axiom,
    ! [Pa,X_2,Xa,Xb,Xc] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),X_2),Xa),Xb),Xc))
    <=> hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    file('theBenchmark.p',fact_878_redsp__reds__eq) ).

fof(fact_879_blocks_Osimps_I1_J,axiom,
    ! [V_2,Vs_4,T_3,Ts_4,V_1,Vs_3,E] : hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),V_2),Vs_4)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),T_3),Ts_4)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),V_1),Vs_3)),E)))) = hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),V_2),T_3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V_2),hAPP(val,exp(list(char)),val_1(list(char)),V_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_4),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_4),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_3),E)))))),
    file('theBenchmark.p',fact_879_blocks_Osimps_I1_J) ).

fof(fact_880_redp__redsp_OListRed2,axiom,
    ! [Va,Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Esa),S),Es_a),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3)) ),
    file('theBenchmark.p',fact_880_redp__redsp_OListRed2) ).

fof(fact_881_redp__redsp_OListRed1,axiom,
    ! [Esa,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3)) ),
    file('theBenchmark.p',fact_881_redp__redsp_OListRed1) ).

fof(fact_882_redp__redsp_OCallParams,axiom,
    ! [Va,M,Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Esa),S),Es_a),S_3))
     => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3)) ),
    file('theBenchmark.p',fact_882_redp__redsp_OCallParams) ).

fof(fact_883_conf__ClassD,axiom,
    ! [X_a,Pa,Hb,Va,C_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),Hb),Va),hAPP(list(char),ty,class,C_1)))
     => ( ? [A_3,Obj,T_5] :
            ( 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_5),hAPP(list(char),ty,class,C_1)))
            & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,Obj) = T_5
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Obj)
            & Va = hAPP(nat,val,addr,A_3) )
        | Va = null ) ),
    file('theBenchmark.p',fact_883_conf__ClassD) ).

fof(fact_884_field__def2,axiom,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4))
     => hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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(list(char),fun(list(char),product_prod(list(char),ty))),field(X_a),P),C_4),F_2) = hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),D_4),T_3) ),
    file('theBenchmark.p',fact_884_field__def2) ).

fof(fact_885_field__def,axiom,
    ! [X_a,Pa,C_1,F_1] : hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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(list(char),fun(list(char),product_prod(list(char),ty))),field(X_a),Pa),C_1),F_1) = hAPP(fun(product_prod(list(char),ty),bool),product_prod(list(char),ty),the_1(product_prod(list(char),ty)),hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,fun(list(char),bool)),fun(list(char),fun(ty,bool)),combc(ty,list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1)))),
    file('theBenchmark.p',fact_885_field__def) ).

fof(fact_886_all__fields__in__has__fields,axiom,
    ! [X_a,F_1,Ta,D_3,Fs,Ms,D_2,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
       => ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),D_2) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_3),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))
         => ( hBOOL(hAPP(fun(product_prod(list(char),ty),bool),bool,hAPP(product_prod(list(char),ty),fun(fun(product_prod(list(char),ty),bool),bool),member(product_prod(list(char),ty)),hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),F_1),Ta)),hAPP(list(product_prod(list(char),ty)),fun(product_prod(list(char),ty),bool),set(product_prod(list(char),ty)),Fs)))
           => hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs))) ) ) ) ),
    file('theBenchmark.p',fact_886_all__fields__in__has__fields) ).

fof(fact_887_set__append,axiom,
    ! [X_a,Xs,Ys] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)),
    file('theBenchmark.p',fact_887_set__append) ).

fof(fact_888_set__ConsD,axiom,
    ! [X_a,Y_1,X_1,Xs] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs))))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
        | ti(X_a,Y_1) = ti(X_a,X_1) ) ),
    file('theBenchmark.p',fact_888_set__ConsD) ).

fof(fact_889_set__subset__Cons,axiom,
    ! [X_a,Xs,X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))),
    file('theBenchmark.p',fact_889_set__subset__Cons) ).

fof(fact_890_map__eq__conv,axiom,
    ! [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)
    <=> ! [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) ) ),
    file('theBenchmark.p',fact_890_map__eq__conv) ).

fof(fact_891_map__fun__upd,axiom,
    ! [X_b,X_a,F,Va,Y_1,Xs] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
     => hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),Y_1),Va)),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) ),
    file('theBenchmark.p',fact_891_map__fun__upd) ).

fof(fact_892_The__split__eq,axiom,
    ! [X_a,X_b,X_1,Y_1] : hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(X_b,bool),fun(X_b,bool))),fun(fun(X_b,bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(X_b,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_b,bool),fun(X_b,bool))),hAPP(fun(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool))),fun(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_b,bool),fun(X_b,bool)))),combb(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),X_a),combb(bool,bool,X_b)),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1)))),hAPP(X_b,fun(X_b,bool),fequal(X_b),Y_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_1),Y_1),
    file('theBenchmark.p',fact_892_The__split__eq) ).

fof(fact_893_split__paired__The,axiom,
    ! [X_a,X_b,Pa] : hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),Pa) = hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool)),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,bool))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool),X_a),hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool)),combb(product_prod(X_a,X_b),bool,X_b),Pa)),product_Pair(X_a,X_b)))),
    file('theBenchmark.p',fact_893_split__paired__The) ).

fof(fact_894_has__fields__types,axiom,
    ! [X_a,Wf_md,FD,Ta,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),FD),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
       => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
         => hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta)) ) ) ),
    file('theBenchmark.p',fact_894_has__fields__types) ).

fof(fact_895_has__fields__decl__above,axiom,
    ! [X_a,F_1,D_2,Ta,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
       => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ),
    file('theBenchmark.p',fact_895_has__fields__decl__above) ).

fof(fact_896_split__list__propE,axiom,
    ! [X_a,Pa,Xs] :
      ( ? [X_2] :
          ( hBOOL(hAPP(X_a,bool,Pa,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))) )
     => ~ ! [Ys_2,X_2] :
            ( ? [Zs_1] : Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1))
           => ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ),
    file('theBenchmark.p',fact_896_split__list__propE) ).

fof(fact_897_in__set__conv__decomp__first,axiom,
    ! [X_a,X_1,Xs] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
    <=> ? [Ys_2,Zs_1] :
          ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
          & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) ) ),
    file('theBenchmark.p',fact_897_in__set__conv__decomp__first) ).

fof(fact_898_wf__J__prog__wf__J__mdecl,axiom,
    ! [Jmdcl,C_1,D_2,Fds,Mths,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),Pa))
     => ( hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),Fds),Mths)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),Pa)))
       => ( hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),Jmdcl),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),Mths)))
         => hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,Pa),C_1),Jmdcl)) ) ) ),
    file('theBenchmark.p',fact_898_wf__J__prog__wf__J__mdecl) ).

fof(fact_899_is__type__pTs,axiom,
    ! [X_a,M,Ts,Ta,M_1,C_1,S_2,Fs,Ms,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(fun(product_prod(list(char),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))))))),bool),bool,hAPP(product_prod(list(char),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(product_prod(list(char),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))))))),bool),bool),member(product_prod(list(char),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)))))))),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),S_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),set(product_prod(list(char),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)))))))),Pa)))
       => ( hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),Ms)))
         => hBOOL(hAPP(fun(ty,bool),bool,hAPP(fun(ty,bool),fun(fun(ty,bool),bool),ord_less_eq(fun(ty,bool)),hAPP(list(ty),fun(ty,bool),set(ty),Ts)),hAPP(fun(ty,bool),fun(ty,bool),collect(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,bool),is_type(X_a),Pa)))) ) ) ),
    file('theBenchmark.p',fact_899_is__type__pTs) ).

fof(fact_900_in__set__conv__decomp,axiom,
    ! [X_a,X_1,Xs] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
    <=> ? [Ys_2,Zs_1] : Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) ),
    file('theBenchmark.p',fact_900_in__set__conv__decomp) ).

fof(fact_901_in__set__conv__decomp__last,axiom,
    ! [X_a,X_1,Xs] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
    <=> ? [Ys_2,Zs_1] :
          ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))
          & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) ) ),
    file('theBenchmark.p',fact_901_in__set__conv__decomp__last) ).

fof(fact_902_mdecl__visible,axiom,
    ! [X_a,M,Ts,Ta,M_1,C_1,S_2,Fs,Ms,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(fun(product_prod(list(char),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))))))),bool),bool,hAPP(product_prod(list(char),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(product_prod(list(char),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))))))),bool),bool),member(product_prod(list(char),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)))))))),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),S_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),set(product_prod(list(char),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)))))))),Pa)))
       => ( hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),Ms)))
         => hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),C_1)) ) ) ),
    file('theBenchmark.p',fact_902_mdecl__visible) ).

fof(fact_903_ex__map__conv,axiom,
    ! [X_a,X_b,Ys,F] :
      ( ? [Xs_2] : Ys = hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_2)
    <=> ! [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)))
         => ? [Xa] : ti(X_b,X_2) = hAPP(X_a,X_b,F,Xa) ) ),
    file('theBenchmark.p',fact_903_ex__map__conv) ).

fof(fact_904_sees__method__fun,axiom,
    ! [X_a,TS_1,T_4,M_7,D_5,P,C_4,M_6,TS,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),TS),T_3),M_5),D_4))
     => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),TS_1),T_4),M_7),D_5))
       => ( D_5 = D_4
          & ti(X_a,M_7) = ti(X_a,M_5)
          & T_4 = T_3
          & TS_1 = TS ) ) ),
    file('theBenchmark.p',fact_904_sees__method__fun) ).

fof(fact_905_sees__method__idemp,axiom,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4))
     => hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),D_4),M_6),Ts_4),T_3),M_5),D_4)) ),
    file('theBenchmark.p',fact_905_sees__method__idemp) ).

fof(fact_906_sees__method__is__class,axiom,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4))
     => hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),P),C_4)) ),
    file('theBenchmark.p',fact_906_sees__method__is__class) ).

fof(fact_907_sees__method__decl__mono,axiom,
    ! [X_a,Ts_1,T_a,M_2,D_3,M,Ts,Ta,M_1,D_2,C_3,C_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
     => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
       => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_3),M),Ts_1),T_a),M_2),D_3))
         => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_3),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ) ),
    file('theBenchmark.p',fact_907_sees__method__decl__mono) ).

fof(fact_908_sees__method__decl__above,axiom,
    ! [X_a,Pa,C_1,M,Ts,Ta,M_1,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
     => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    file('theBenchmark.p',fact_908_sees__method__decl__above) ).

fof(fact_909_sees__wf__mdecl,axiom,
    ! [X_a,C_1,M,Ts,Ta,M_1,D_2,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
       => hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool)),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),wf_mdecl(X_a),Wf_md),Pa),D_2),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1))))) ) ),
    file('theBenchmark.p',fact_909_sees__wf__mdecl) ).

fof(fact_910_method__def2,axiom,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4))
     => hAPP(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),method_1(X_a),P),C_4),M_6) = hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),D_4),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts_4),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),T_3),M_5))) ),
    file('theBenchmark.p',fact_910_method__def2) ).

fof(fact_911_map__ext,axiom,
    ! [X_b,X_a,F,G,Xs] :
      ( ! [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) ),
    file('theBenchmark.p',fact_911_map__ext) ).

fof(fact_912_map__idI,axiom,
    ! [X_a,F,Xs] :
      ( ! [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 ),
    file('theBenchmark.p',fact_912_map__idI) ).

fof(fact_913_map__cong,axiom,
    ! [X_b,X_a,F,G,Xs,Ys] :
      ( Xs = Ys
     => ( ! [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) ) ),
    file('theBenchmark.p',fact_913_map__cong) ).

fof(fact_914_Method__def,axiom,
    ! [X_a,Pa,C_1,M,Ts,Ta,M_1,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
    <=> ? [Mm_4] :
          ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_4,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1))),D_2))
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm_4)) ) ),
    file('theBenchmark.p',fact_914_Method__def) ).

fof(fact_915_sees__methods__fun,axiom,
    ! [X_a,Mm_3,Pa,C_1,Mm] :
      ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm))
     => ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm_3))
       => Mm_3 = Mm ) ),
    file('theBenchmark.p',fact_915_sees__methods__fun) ).

fof(fact_916_sees__methods__decl__above,axiom,
    ! [X_a,M,M_1,D_2,Pa,C_1,Mm] :
      ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm))
     => ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
       => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ),
    file('theBenchmark.p',fact_916_sees__methods__decl__above) ).

fof(fact_917_sees__methods__idemp,axiom,
    ! [X_a,M,M_1,D_2,Pa,C_1,Mm] :
      ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm))
     => ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
       => ? [Mm_1] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_1,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
            & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),D_2),Mm_1)) ) ) ),
    file('theBenchmark.p',fact_917_sees__methods__idemp) ).

fof(fact_918_sees__methods__decl__mono,axiom,
    ! [X_a,Mm,C_3,C_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
     => ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm))
       => ? [Mm_1,Mm_2] :
            ( ! [M_4,M_3,D_1] :
                ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_2,M_4) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_3),D_1))
               => hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) )
            & Mm_1 = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm),Mm_2)
            & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_3),Mm_1)) ) ) ),
    file('theBenchmark.p',fact_918_sees__methods__decl__mono) ).

fof(fact_919_CallRedsFinal,axiom,
    ! [Ef,H_3,L_3,L_2_1,M,Ts,Ta,Pns,Body,D_2,C_1,Fs,Esa,Vs_1,H_2,L_2,Eb,S_0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),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)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
       => ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
         => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
           => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
             => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
               => ( L_2_1 = 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))),Pns),Vs_1)
                 => ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Body),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ef),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_3),L_3)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
                   => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ef))
                     => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ef),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_3),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)))) ) ) ) ) ) ) ) ) ),
    file('theBenchmark.p',fact_919_CallRedsFinal) ).

fof(fact_920_subcls__notin__has__fields,axiom,
    ! [X_a,F_1,D_2,Ta,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs))
     => ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
       => ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ),
    file('theBenchmark.p',fact_920_subcls__notin__has__fields) ).

fof(fact_921_trancl_Or__into__trancl,axiom,
    ! [X_a,A_1,B,R_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_1),B)),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    file('theBenchmark.p',fact_921_trancl_Or__into__trancl) ).

fof(fact_922_trancl__into__rtrancl,axiom,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    file('theBenchmark.p',fact_922_trancl__into__rtrancl) ).

fof(fact_923_map__add__upds,axiom,
    ! [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),
    file('theBenchmark.p',fact_923_map__add__upds) ).

fof(fact_924_fun__upds__append2__drop,axiom,
    ! [X_a,X_b,M_1,Zs,Xs,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs)) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys) ),
    file('theBenchmark.p',fact_924_fun__upds__append2__drop) ).

fof(fact_925_fun__upds__append__drop,axiom,
    ! [X_a,X_b,M_1,Zs,Xs,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)),Ys) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys) ),
    file('theBenchmark.p',fact_925_fun__upds__append__drop) ).

fof(fact_926_trancl__rtrancl__absorb,axiom,
    ! [X_a,R_1] : 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_trancl(X_a),R_1)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1),
    file('theBenchmark.p',fact_926_trancl__rtrancl__absorb) ).

fof(fact_927_rtrancl__trancl__absorb,axiom,
    ! [X_a,R_1] : hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1),
    file('theBenchmark.p',fact_927_rtrancl__trancl__absorb) ).

fof(fact_928_neq__if__length__neq,axiom,
    ! [X_a,Xs_1,Ys_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) != hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)
     => Xs_1 != Ys_1 ),
    file('theBenchmark.p',fact_928_neq__if__length__neq) ).

fof(fact_929_r__into__trancl_H,axiom,
    ! [X_a,P_1,R_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)),P_1),R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    file('theBenchmark.p',fact_929_r__into__trancl_H) ).

fof(fact_930_length__map,axiom,
    ! [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),
    file('theBenchmark.p',fact_930_length__map) ).

fof(fact_931_map__eq__imp__length__eq,axiom,
    ! [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) ),
    file('theBenchmark.p',fact_931_map__eq__imp__length__eq) ).

fof(fact_932_impossible__Cons,axiom,
    ! [X_a,X,Xs_1,Ys_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)))
     => Xs_1 != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_1) ),
    file('theBenchmark.p',fact_932_impossible__Cons) ).

fof(fact_933_trancl__mono,axiom,
    ! [X_a,S,P_1,R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2)))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),S))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),S))) ) ),
    file('theBenchmark.p',fact_933_trancl__mono) ).

fof(fact_934_map__upds__apply__nontin,axiom,
    ! [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) ),
    file('theBenchmark.p',fact_934_map__upds__apply__nontin) ).

fof(fact_935_rtrancl__eq__or__trancl,axiom,
    ! [X_a,X_1,Y_1,R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
          & ti(X_a,X_1) != ti(X_a,Y_1) )
        | ti(X_a,X_1) = ti(X_a,Y_1) ) ),
    file('theBenchmark.p',fact_935_rtrancl__eq__or__trancl) ).

fof(fact_936_rtrancl__into__trancl2,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_936_rtrancl__into__trancl2) ).

fof(fact_937_rtranclD,axiom,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
          & ti(X_a,A_1) != ti(X_a,B) )
        | ti(X_a,A_1) = ti(X_a,B) ) ),
    file('theBenchmark.p',fact_937_rtranclD) ).

fof(fact_938_rtrancl__into__trancl1,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_938_rtrancl__into__trancl1) ).

fof(fact_939_trancl__rtrancl__trancl,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_939_trancl__rtrancl__trancl) ).

fof(fact_940_rtrancl__trancl__trancl,axiom,
    ! [X_a,Z_1,X_1,Y_1,R_2] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Y_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2)))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_940_rtrancl__trancl__trancl) ).

fof(fact_941_trancl__trans,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_941_trancl__trans) ).

fof(fact_942_Transitive__Closure_Otrancl__into__trancl,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_942_Transitive__Closure_Otrancl__into__trancl) ).

fof(fact_943_trancl__into__trancl2,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ) ),
    file('theBenchmark.p',fact_943_trancl__into__trancl2) ).

fof(fact_944_r__r__into__trancl,axiom,
    ! [X_a,C,A_1,B,R_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_1),B)),R_1))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B),C)),R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1))) ) ),
    file('theBenchmark.p',fact_944_r__r__into__trancl) ).

fof(fact_945_subcls1__wfD,axiom,
    ! [X_a,Wf_md,C_1,D_2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
          & D_2 != C_1 ) ) ),
    file('theBenchmark.p',fact_945_subcls1__wfD) ).

fof(fact_946_subcls__asym,axiom,
    ! [X_a,C_1,D_2,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
       => ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) ),
    file('theBenchmark.p',fact_946_subcls__asym) ).

fof(fact_947_subcls__irrefl,axiom,
    ! [X_a,C_1,D_2,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
       => C_1 != D_2 ) ),
    file('theBenchmark.p',fact_947_subcls__irrefl) ).

fof(fact_948_Call,axiom,
    ! [E_b,H_3,L_3,L_2_1,M,Ts,Ta,Pns,Body,D_2,C_1,Fs,Ps,Vs_1,H_2,L_2,Pa,Eb,S_0,A_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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))
     => ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Ps),S_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))),Vs_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
       => ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
         => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
           => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
             => ( L_2_1 = 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))),Pns),Vs_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),Body),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)),E_b),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_3),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),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),E_b),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_3),L_2))) ) ) ) ) ) ) ),
    file('theBenchmark.p',fact_948_Call) ).

fof(fact_949_map__upds__Cons,axiom,
    ! [X_b,X_a,M_1,A_1,As,B,Bs] : hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),As)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),B),Bs)) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs),
    file('theBenchmark.p',fact_949_map__upds__Cons) ).

fof(fact_950_map__upds__twist,axiom,
    ! [X_b,X_a,M_1,B,Bs,A_1,As] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),As)))
     => hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),As),Bs)),A_1),hAPP(X_b,option(X_b),some(X_b),B)) ),
    file('theBenchmark.p',fact_950_map__upds__twist) ).

fof(fact_951_red__reds_ORedCall,axiom,
    ! [Vs_1,Pa,M,Ts,Ta,Pns,Body,D_2,S,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))
     => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
       => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
         => ( hAPP(list(ty),nat,size_size(list(ty)),Ts) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
           => hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D_2)),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))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_1)),Vs_1)),Body))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ) ) ) ),
    file('theBenchmark.p',fact_951_red__reds_ORedCall) ).

fof(fact_952_redp__redsp_ORedCall,axiom,
    ! [Vs_1,Pa,M,Ts,Ta,Pns,Body,D_2,S,A_1,C_1,Fs] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))
     => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
       => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
         => ( hAPP(list(ty),nat,size_size(list(ty)),Ts) = hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
           => hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D_2)),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))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_1)),Vs_1)),Body))))),S)) ) ) ) ),
    file('theBenchmark.p',fact_952_redp__redsp_ORedCall) ).

fof(fact_953_WTrts__same__length,axiom,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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_1,Pa),Hb),Ea),Esa),Ts))
     => hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),Esa) = hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    file('theBenchmark.p',fact_953_WTrts__same__length) ).

fof(fact_954_blocksFinal,axiom,
    ! [Hb,Lb,Pa,Eb,Vs_1,Vs,Ts] :
      ( hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
     => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
       => ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
         => 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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),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))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ) ) ),
    file('theBenchmark.p',fact_954_blocksFinal) ).

fof(fact_955_blocksEval,axiom,
    ! [Pa,Eb,Hb,Lb,E_b,H_b,L_b,Vs_1,Ps,Ts] :
      ( hAPP(list(list(char)),nat,size_size(list(list(char))),Ps) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
     => ( hAPP(list(list(char)),nat,size_size(list(list(char))),Ps) = hAPP(list(val),nat,size_size(list(val)),Vs_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)))),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_1),Eb))))),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))),Hb),Lb)),E_b),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_b),L_b)))
         => ? [L_1] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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))),Hb),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),Lb),Ps),Vs_1))),E_b),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_b),L_1))) ) ) ),
    file('theBenchmark.p',fact_955_blocksEval) ).

fof(fact_956_wt__blocks,axiom,
    ! [Pa,Hb,Ea,Eb,Ta,Vs_1,Vs,Ts] :
      ( hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
     => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
       => ( 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_1,Pa),Hb),Ea),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),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_1),Eb))))),Ta))
        <=> ( ? [Ts_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_3),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,Hb)),Vs_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_3) )
            & 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_1,Pa),Hb),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),Ea),Vs),Ts)),Eb),Ta)) ) ) ) ),
    file('theBenchmark.p',fact_956_wt__blocks) ).

fof(fact_957_widens__refl,axiom,
    ! [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)),
    file('theBenchmark.p',fact_957_widens__refl) ).

fof(fact_958_list__all2__append,axiom,
    ! [X_a,X_b,Pa,Us_2,Vs_1,Xs,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us_2)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Vs_1)))
      <=> ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us_2),Vs_1))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys)) ) ) ),
    file('theBenchmark.p',fact_958_list__all2__append) ).

fof(fact_959_list__all2__lengthD,axiom,
    ! [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) ),
    file('theBenchmark.p',fact_959_list__all2__lengthD) ).

fof(fact_960_list__all2__appendI,axiom,
    ! [X_b,X_a,C,D,Pa,A_1,B] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),A_1),B))
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),C),D))
       => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),A_1),C)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),B),D))) ) ),
    file('theBenchmark.p',fact_960_list__all2__appendI) ).

fof(fact_961_list__all2__eq,axiom,
    ! [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),fequal(X_a)),Xs),Ys)) ),
    file('theBenchmark.p',fact_961_list__all2__eq) ).

fof(fact_962_widens__trans,axiom,
    ! [X_a,Us_1,Pa,Ss,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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ss),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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ts),Us_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)),Ss),Us_1)) ) ),
    file('theBenchmark.p',fact_962_widens__trans) ).

fof(fact_963_list__all2__Cons,axiom,
    ! [X_b,X_a,Pa,X_1,Xs,Y_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))
    <=> ( hBOOL(hAPP(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,X_1),Y_1)) ) ),
    file('theBenchmark.p',fact_963_list__all2__Cons) ).

fof(fact_964_list__all2__map2,axiom,
    ! [X_b,X_a,X_c,Pa,As,F,Bs] :
      ( 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),As),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),F),Bs)))
    <=> 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),hAPP(fun(X_c,X_b),fun(X_a,fun(X_c,bool)),hAPP(fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_c,X_b),fun(X_a,fun(X_c,bool))),combc(X_a,fun(X_c,X_b),fun(X_c,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),hAPP(fun(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool)))),combb(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool)),X_a),combb(X_b,bool,X_c)),Pa)),F)),As),Bs)) ),
    file('theBenchmark.p',fact_964_list__all2__map2) ).

fof(fact_965_list__all2__map1,axiom,
    ! [X_b,X_a,X_c,Pa,F,As,Bs] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),F),As)),Bs))
    <=> hBOOL(hAPP(list(X_b),bool,hAPP(list(X_c),fun(list(X_b),bool),hAPP(fun(X_c,fun(X_b,bool)),fun(list(X_c),fun(list(X_b),bool)),list_all2(X_c,X_b),hAPP(fun(X_c,X_a),fun(X_c,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_c,X_a),fun(X_c,fun(X_b,bool))),combb(X_a,fun(X_b,bool),X_c),Pa),F)),As),Bs)) ),
    file('theBenchmark.p',fact_965_list__all2__map1) ).

fof(fact_966_sees__method__mono2,axiom,
    ! [X_a,Ts_1,T_a,M_2,D_3,M,Ts,Ta,M_1,D_2,Wf_md,C_3,C_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
     => ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
       => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
         => ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_3),M),Ts_1),T_a),M_2),D_3))
           => ( 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_a),Ta))
              & 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),Ts_1)) ) ) ) ) ),
    file('theBenchmark.p',fact_966_sees__method__mono2) ).

fof(fact_967_WTrtCall,axiom,
    ! [Esa,Ts_1,M,Ts,Ta,Pns,Body,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
       => ( 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_1,Pa),Hb),Ea),Esa),Ts_1))
         => ( hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_1),Ts))
           => 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_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta)) ) ) ) ),
    file('theBenchmark.p',fact_967_WTrtCall) ).

fof(fact_968_widens__Cons,axiom,
    ! [X_a,Pa,X_1,Xs,Ys] :
      ( hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),X_1),Xs)),Ys))
    <=> ? [Z,Zs_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)),Xs),Zs_1))
          & hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),X_1),Z))
          & Ys = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Z),Zs_1) ) ),
    file('theBenchmark.p',fact_968_widens__Cons) ).

fof(fact_969_WTrt_H__WTrts_H_Ointros_I12_J,axiom,
    ! [Esa,Ts_1,M,Ts,Ta,Pns,Body,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1)))
     => ( hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
       => ( 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),Hb),Ea),Esa),Ts_1))
         => ( hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_1),Ts))
           => 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),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta)) ) ) ) ),
    file('theBenchmark.p',fact_969_WTrt_H__WTrts_H_Ointros_I12_J) ).

fof(fact_970_confs__hext,axiom,
    ! [X_a,H_b,Pa,Hb,Vs_1,Ts] :
      ( 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),Hb)),Vs_1),Ts))
     => ( 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,Hb),H_b))
       => 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_b)),Vs_1),Ts)) ) ),
    file('theBenchmark.p',fact_970_confs__hext) ).

fof(fact_971_wts_H__iff__wts,axiom,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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),Hb),Ea),Esa),Ts))
    <=> 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_1,Pa),Hb),Ea),Esa),Ts)) ),
    file('theBenchmark.p',fact_971_wts_H__iff__wts) ).

fof(fact_972_wts_H__wts,axiom,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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),Hb),Ea),Esa),Ts))
     => 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_1,Pa),Hb),Ea),Esa),Ts)) ),
    file('theBenchmark.p',fact_972_wts_H__wts) ).

fof(fact_973_wts__wts_H,axiom,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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_1,Pa),Hb),Ea),Esa),Ts))
     => 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),Hb),Ea),Esa),Ts)) ),
    file('theBenchmark.p',fact_973_wts__wts_H) ).

fof(fact_974_confs__widens,axiom,
    ! [X_a,Ts_1,Pa,Hb,Vs_1,Ts] :
      ( 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),Hb)),Vs_1),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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ts),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),Hb)),Vs_1),Ts_1)) ) ),
    file('theBenchmark.p',fact_974_confs__widens) ).

fof(fact_975_WTrt_H__WTrts_H_Ointros_I13_J,axiom,
    ! [M,Ta,Esa,Ts,Pa,Hb,Ea,Eb] :
      ( 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),Hb),Ea),Eb),nt))
     => ( 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),Hb),Ea),Esa),Ts))
       => 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),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta)) ) ),
    file('theBenchmark.p',fact_975_WTrt_H__WTrts_H_Ointros_I13_J) ).

fof(fact_976_WTrt_H__WTrts_H_Ointros_I15_J,axiom,
    ! [Esa,Ts,Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),Ta))
     => ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Hb),Ea),Esa),Ts))
       => 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),Hb),Ea),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Ta),Ts))) ) ),
    file('theBenchmark.p',fact_976_WTrt_H__WTrts_H_Ointros_I15_J) ).

fof(fact_977_confs__conv__map,axiom,
    ! [X_a,Pa,Hb,Vs_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),Hb)),Vs_1),Ts_1))
    <=> ? [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))
          & 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,Hb)),Vs_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) ) ),
    file('theBenchmark.p',fact_977_confs__conv__map) ).

fof(fact_978_confs__Cons2,axiom,
    ! [X_a,Pa,Hb,Xs,Y_1,Ys] :
      ( hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb)),Xs),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Y_1),Ys)))
    <=> ? [Z,Zs_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),Hb)),Zs_1),Ys))
          & 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),Hb),Z),Y_1))
          & Xs = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),Z),Zs_1) ) ),
    file('theBenchmark.p',fact_978_confs__Cons2) ).

fof(fact_979_list__all2__append2,axiom,
    ! [X_b,X_a,Pa,Xs,Ys,Zs] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs)))
    <=> ? [Us,Vs_2] :
          ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Vs_2),Zs))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us),Ys))
          & hAPP(list(X_a),nat,size_size(list(X_a)),Vs_2) = hAPP(list(X_b),nat,size_size(list(X_b)),Zs)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Us) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
          & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Vs_2) ) ),
    file('theBenchmark.p',fact_979_list__all2__append2) ).

fof(fact_980_list__all2__append1,axiom,
    ! [X_b,X_a,Pa,Xs,Ys,Zs] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)),Zs))
    <=> ? [Us,Vs_2] :
          ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ys),Vs_2))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Us))
          & hAPP(list(X_b),nat,size_size(list(X_b)),Vs_2) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
          & hAPP(list(X_b),nat,size_size(list(X_b)),Us) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs)
          & Zs = hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us),Vs_2) ) ),
    file('theBenchmark.p',fact_980_list__all2__append1) ).

fof(fact_981_tranclD2,axiom,
    ! [X_a,X_1,Y_1,R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),Z),Y_1)),R_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),Z)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ),
    file('theBenchmark.p',fact_981_tranclD2) ).

fof(fact_982_tranclD,axiom,
    ! [X_a,X_1,Y_1,R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),Z),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Z)),R_1)) ) ),
    file('theBenchmark.p',fact_982_tranclD) ).

fof(fact_983_blocksRedsFinal,axiom,
    ! [L,Eb,Hb,Lb,E_b,H_b,L_b,Pa,Vs_1,Vs,Ts] :
      ( hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
     => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
       => ( hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vs))
         => ( 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)))),Eb),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))),Hb),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),Lb),Vs),Vs_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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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_b))
             => ( L = 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_b),Lb),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vs))
               => 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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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)))) ) ) ) ) ) ),
    file('theBenchmark.p',fact_983_blocksRedsFinal) ).

fof(fact_984_override__on__def,axiom,
    ! [X_b,X_a,F,G,A_2,X_2] :
      ( ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
       => hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),X_2) = hAPP(X_a,X_b,F,X_2) )
      & ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
       => hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),X_2) = hAPP(X_a,X_b,G,X_2) ) ),
    file('theBenchmark.p',fact_984_override__on__def) ).

fof(fact_985_override__on__apply__notin,axiom,
    ! [X_b,X_a,F,G,A_1,A_2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
     => hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),A_1) = hAPP(X_a,X_b,F,A_1) ),
    file('theBenchmark.p',fact_985_override__on__apply__notin) ).

fof(fact_986_override__on__apply__in,axiom,
    ! [X_b,X_a,F,G,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
     => hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),A_1) = hAPP(X_a,X_b,G,A_1) ),
    file('theBenchmark.p',fact_986_override__on__apply__in) ).

fof(fact_987_distinct_Osimps_I2_J,axiom,
    ! [X_a,X_1,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))
    <=> ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),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))) ) ),
    file('theBenchmark.p',fact_987_distinct_Osimps_I2_J) ).

fof(fact_988_blocksReds,axiom,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa,Vs_1,Vs,Ts] :
      ( hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
     => ( hAPP(list(val),nat,size_size(list(val)),Vs_1) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
       => ( hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),Vs))
         => ( 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)))),Eb),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))),Hb),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),Lb),Vs),Vs_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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(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))))),Vs),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))),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_b)),Vs)),E_b))))),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_b),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_b),Lb),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vs)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ) ) ) ),
    file('theBenchmark.p',fact_988_blocksReds) ).

fof(fact_989_subcls__induct,axiom,
    ! [X_a,C_1,Q_1,Wf_md,Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
     => ( ! [C_2] :
            ( ! [D_1] :
                ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
               => hBOOL(hAPP(list(char),bool,Q_1,D_1)) )
           => hBOOL(hAPP(list(char),bool,Q_1,C_2)) )
       => hBOOL(hAPP(list(char),bool,Q_1,C_1)) ) ),
    file('theBenchmark.p',fact_989_subcls__induct) ).

fof(fact_990_List_Omap_Ocomp,axiom,
    ! [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)),
    file('theBenchmark.p',fact_990_List_Omap_Ocomp) ).

fof(fact_991_map__comp__map,axiom,
    ! [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)),
    file('theBenchmark.p',fact_991_map__comp__map) ).

fof(fact_992_List_Omap_Ocompositionality,axiom,
    ! [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),
    file('theBenchmark.p',fact_992_List_Omap_Ocompositionality) ).

fof(fact_993_map__map,axiom,
    ! [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),
    file('theBenchmark.p',fact_993_map__map) ).

fof(fact_994_o__eq__elim,axiom,
    ! [X_a,X_c,X_b,X_d,A_1,B,C,D] :
      ( 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),A_1),B) = hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),C),D)
     => ! [V] : hAPP(X_c,X_b,A_1,hAPP(X_a,X_c,B,V)) = hAPP(X_d,X_b,C,hAPP(X_a,X_d,D,V)) ),
    file('theBenchmark.p',fact_994_o__eq__elim) ).

fof(fact_995_o__eq__dest,axiom,
    ! [X_a,X_c,X_b,X_d,Va,A_1,B,C,D] :
      ( 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),A_1),B) = hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),C),D)
     => hAPP(X_c,X_b,A_1,hAPP(X_a,X_c,B,Va)) = hAPP(X_d,X_b,C,hAPP(X_a,X_d,D,Va)) ),
    file('theBenchmark.p',fact_995_o__eq__dest) ).

fof(fact_996_o__apply,axiom,
    ! [X_c,X_a,X_b,F,G,X_1] : hAPP(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),X_1) = hAPP(X_b,X_a,F,hAPP(X_c,X_b,G,X_1)),
    file('theBenchmark.p',fact_996_o__apply) ).

fof(fact_997_o__assoc,axiom,
    ! [X_a,X_c,X_b,X_d,F,G,Hb] : 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),hAPP(fun(X_a,X_d),fun(X_a,X_c),hAPP(fun(X_d,X_c),fun(fun(X_a,X_d),fun(X_a,X_c)),comp(X_d,X_c,X_a),G),Hb)) = hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),hAPP(fun(X_d,X_c),fun(X_d,X_b),hAPP(fun(X_c,X_b),fun(fun(X_d,X_c),fun(X_d,X_b)),comp(X_c,X_b,X_d),F),G)),Hb),
    file('theBenchmark.p',fact_997_o__assoc) ).

fof(fact_998_o__def,axiom,
    ! [X_a,X_b,X_c,F,G,X_2] : hAPP(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),X_2) = hAPP(X_c,X_b,F,hAPP(X_a,X_c,G,X_2)),
    file('theBenchmark.p',fact_998_o__def) ).

fof(fact_999_fun__upd__comp,axiom,
    ! [X_a,X_c,X_b,F,G,X_1,Y_1] : 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),hAPP(X_c,fun(X_a,X_c),hAPP(X_a,fun(X_c,fun(X_a,X_c)),hAPP(fun(X_a,X_c),fun(X_a,fun(X_c,fun(X_a,X_c))),fun_upd(X_a,X_c),G),X_1),Y_1)) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),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)),X_1),hAPP(X_c,X_b,F,Y_1)),
    file('theBenchmark.p',fact_999_fun__upd__comp) ).

fof(arity_fun___Lattices_Osemilattice__sup,axiom,
    ! [T_2,T_1] :
      ( lattice(T_1)
     => semilattice_sup(fun(T_2,T_1)) ),
    file('theBenchmark.p',arity_fun___Lattices_Osemilattice__sup) ).

fof(arity_fun___Orderings_Opreorder,axiom,
    ! [T_2,T_1] :
      ( preorder(T_1)
     => preorder(fun(T_2,T_1)) ),
    file('theBenchmark.p',arity_fun___Orderings_Opreorder) ).

fof(arity_fun___Lattices_Olattice,axiom,
    ! [T_2,T_1] :
      ( lattice(T_1)
     => lattice(fun(T_2,T_1)) ),
    file('theBenchmark.p',arity_fun___Lattices_Olattice) ).

fof(arity_fun___Orderings_Oorder,axiom,
    ! [T_2,T_1] :
      ( order(T_1)
     => order(fun(T_2,T_1)) ),
    file('theBenchmark.p',arity_fun___Orderings_Oorder) ).

fof(arity_fun___Orderings_Oord,axiom,
    ! [T_2,T_1] :
      ( ord(T_1)
     => ord(fun(T_2,T_1)) ),
    file('theBenchmark.p',arity_fun___Orderings_Oord) ).

fof(arity_Nat_Onat___Lattices_Osemilattice__sup,axiom,
    semilattice_sup(nat),
    file('theBenchmark.p',arity_Nat_Onat___Lattices_Osemilattice__sup) ).

fof(arity_Nat_Onat___Orderings_Opreorder,axiom,
    preorder(nat),
    file('theBenchmark.p',arity_Nat_Onat___Orderings_Opreorder) ).

fof(arity_Nat_Onat___Orderings_Olinorder,axiom,
    linorder(nat),
    file('theBenchmark.p',arity_Nat_Onat___Orderings_Olinorder) ).

fof(arity_Nat_Onat___Lattices_Olattice,axiom,
    lattice(nat),
    file('theBenchmark.p',arity_Nat_Onat___Lattices_Olattice) ).

fof(arity_Nat_Onat___Orderings_Oorder,axiom,
    order(nat),
    file('theBenchmark.p',arity_Nat_Onat___Orderings_Oorder) ).

fof(arity_Nat_Onat___Orderings_Oord,axiom,
    ord(nat),
    file('theBenchmark.p',arity_Nat_Onat___Orderings_Oord) ).

fof(arity_HOL_Obool___Lattices_Osemilattice__sup,axiom,
    semilattice_sup(bool),
    file('theBenchmark.p',arity_HOL_Obool___Lattices_Osemilattice__sup) ).

fof(arity_HOL_Obool___Orderings_Opreorder,axiom,
    preorder(bool),
    file('theBenchmark.p',arity_HOL_Obool___Orderings_Opreorder) ).

fof(arity_HOL_Obool___Lattices_Olattice,axiom,
    lattice(bool),
    file('theBenchmark.p',arity_HOL_Obool___Lattices_Olattice) ).

fof(arity_HOL_Obool___Orderings_Oorder,axiom,
    order(bool),
    file('theBenchmark.p',arity_HOL_Obool___Orderings_Oorder) ).

fof(arity_HOL_Obool___Orderings_Oord,axiom,
    ord(bool),
    file('theBenchmark.p',arity_HOL_Obool___Orderings_Oord) ).

fof(help_ti_idem,axiom,
    ! [T,A] : ti(T,ti(T,A)) = ti(T,A),
    file('theBenchmark.p',help_ti_idem) ).

fof(help_fNot_1_1_U,axiom,
    ! [P] :
      ( ~ hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,fNot,P)) ),
    file('theBenchmark.p',help_fNot_1_1_U) ).

fof(help_fNot_2_1_U,axiom,
    ! [P] :
      ( hBOOL(hAPP(bool,bool,fNot,P))
      | hBOOL(P) ),
    file('theBenchmark.p',help_fNot_2_1_U) ).

fof(help_COMBB_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c)),combb(X_b,X_c,X_a),P),Q),R) = hAPP(X_b,X_c,P,hAPP(X_a,X_b,Q,R)),
    file('theBenchmark.p',help_COMBB_1_1_U) ).

fof(help_COMBC_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(X_b,fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c)),combc(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),Q),
    file('theBenchmark.p',help_COMBC_1_1_U) ).

fof(help_COMBI_1_1_U,axiom,
    ! [X_a,P] : hAPP(X_a,X_a,combi(X_a),P) = ti(X_a,P),
    file('theBenchmark.p',help_COMBI_1_1_U) ).

fof(help_COMBK_1_1_U,axiom,
    ! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P),
    file('theBenchmark.p',help_COMBK_1_1_U) ).

fof(help_COMBS_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)),
    file('theBenchmark.p',help_COMBS_1_1_U) ).

fof(help_fTrue_1_1_U,axiom,
    hBOOL(fTrue),
    file('theBenchmark.p',help_fTrue_1_1_U) ).

fof(help_fTrue_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fFalse
      | ti(bool,P) = fTrue ),
    file('theBenchmark.p',help_fTrue_1_1_T) ).

fof(help_fconj_1_1_U,axiom,
    ! [Q,P] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | ~ hBOOL(Q)
      | ~ hBOOL(P) ),
    file('theBenchmark.p',help_fconj_1_1_U) ).

fof(help_fconj_2_1_U,axiom,
    ! [P,Q] :
      ( hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ),
    file('theBenchmark.p',help_fconj_2_1_U) ).

fof(help_fconj_3_1_U,axiom,
    ! [P,Q] :
      ( hBOOL(Q)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ),
    file('theBenchmark.p',help_fconj_3_1_U) ).

fof(help_fdisj_1_1_U,axiom,
    ! [Q,P] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | ~ hBOOL(P) ),
    file('theBenchmark.p',help_fdisj_1_1_U) ).

fof(help_fdisj_2_1_U,axiom,
    ! [P,Q] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | ~ hBOOL(Q) ),
    file('theBenchmark.p',help_fdisj_2_1_U) ).

fof(help_fdisj_3_1_U,axiom,
    ! [P,Q] :
      ( hBOOL(Q)
      | hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ),
    file('theBenchmark.p',help_fdisj_3_1_U) ).

fof(help_fFalse_1_1_U,axiom,
    ~ hBOOL(fFalse),
    file('theBenchmark.p',help_fFalse_1_1_U) ).

fof(help_fFalse_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fFalse
      | ti(bool,P) = fTrue ),
    file('theBenchmark.p',help_fFalse_1_1_T) ).

fof(help_fequal_1_1_T,axiom,
    ! [X_a,X,Y] :
      ( ti(X_a,X) = ti(X_a,Y)
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ),
    file('theBenchmark.p',help_fequal_1_1_T) ).

fof(help_fequal_2_1_T,axiom,
    ! [X_a,X,Y] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
      | ti(X_a,X) != ti(X_a,Y) ),
    file('theBenchmark.p',help_fequal_2_1_T) ).

fof(conj_0,conjecture,
    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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    file('theBenchmark.p',conj_0) ).

fof(f_1_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_BigStep_Oeval_res]) ).

cnf(f_1_2,plain,
    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,
    inference(clausify,[status(thm)],[f_1_1]) ).

fof(f_2_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),evals) = evals,
    inference(fof_nnf,[status(thm)],[tsy_c_BigStep_Oevals_res]) ).

cnf(f_2_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),evals) = evals,
    inference(clausify,[status(thm)],[f_2_1]) ).

fof(f_3_1,plain,
    ! [X_a] : ti(fun(exp(X_a),bool),final(X_a)) = final(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_BigStep_Ofinal_res]) ).

fof(f_3_2,plain,
    ! [U_0] : ti(fun(exp(U_0),bool),final(U_0)) = final(U_0),
    inference(variable_rename,[status(thm)],[f_3_1]) ).

cnf(f_3_3,plain,
    ti(fun(exp(U_0),bool),final(U_0)) = final(U_0),
    inference(clausify,[status(thm)],[f_3_2]) ).

fof(f_4_1,plain,
    ! [X_a] : ti(fun(list(exp(X_a)),bool),finals(X_a)) = finals(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_BigStep_Ofinals_res]) ).

fof(f_4_2,plain,
    ! [U_1] : ti(fun(list(exp(U_1)),bool),finals(U_1)) = finals(U_1),
    inference(variable_rename,[status(thm)],[f_4_1]) ).

cnf(f_4_3,plain,
    ti(fun(list(exp(U_1)),bool),finals(U_1)) = finals(U_1),
    inference(clausify,[status(thm)],[f_4_2]) ).

fof(f_5_1,plain,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c))),combb(X_b,X_c,X_a)) = combb(X_b,X_c,X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_COMBB_res]) ).

fof(f_5_2,plain,
    ! [U_4,U_3,U_2] : ti(fun(fun(U_4,U_3),fun(fun(U_2,U_4),fun(U_2,U_3))),combb(U_4,U_3,U_2)) = combb(U_4,U_3,U_2),
    inference(variable_rename,[status(thm)],[f_5_1]) ).

cnf(f_5_3,plain,
    ti(fun(fun(U_4,U_3),fun(fun(U_2,U_4),fun(U_2,U_3))),combb(U_4,U_3,U_2)) = combb(U_4,U_3,U_2),
    inference(clausify,[status(thm)],[f_5_2]) ).

fof(f_6_1,plain,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c))),combc(X_a,X_b,X_c)) = combc(X_a,X_b,X_c),
    inference(fof_nnf,[status(thm)],[tsy_c_COMBC_res]) ).

fof(f_6_2,plain,
    ! [U_7,U_6,U_5] : ti(fun(fun(U_7,fun(U_6,U_5)),fun(U_6,fun(U_7,U_5))),combc(U_7,U_6,U_5)) = combc(U_7,U_6,U_5),
    inference(variable_rename,[status(thm)],[f_6_1]) ).

cnf(f_6_3,plain,
    ti(fun(fun(U_7,fun(U_6,U_5)),fun(U_6,fun(U_7,U_5))),combc(U_7,U_6,U_5)) = combc(U_7,U_6,U_5),
    inference(clausify,[status(thm)],[f_6_2]) ).

fof(f_7_1,plain,
    ! [X_a] : ti(fun(X_a,X_a),combi(X_a)) = combi(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_COMBI_res]) ).

fof(f_7_2,plain,
    ! [U_8] : ti(fun(U_8,U_8),combi(U_8)) = combi(U_8),
    inference(variable_rename,[status(thm)],[f_7_1]) ).

cnf(f_7_3,plain,
    ti(fun(U_8,U_8),combi(U_8)) = combi(U_8),
    inference(clausify,[status(thm)],[f_7_2]) ).

fof(f_8_1,plain,
    ! [X_a,X_b] : ti(fun(X_a,fun(X_b,X_a)),combk(X_a,X_b)) = combk(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_COMBK_res]) ).

fof(f_8_2,plain,
    ! [U_10,U_9] : ti(fun(U_10,fun(U_9,U_10)),combk(U_10,U_9)) = combk(U_10,U_9),
    inference(variable_rename,[status(thm)],[f_8_1]) ).

cnf(f_8_3,plain,
    ti(fun(U_10,fun(U_9,U_10)),combk(U_10,U_9)) = combk(U_10,U_9),
    inference(clausify,[status(thm)],[f_8_2]) ).

fof(f_9_1,plain,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c))),combs(X_a,X_b,X_c)) = combs(X_a,X_b,X_c),
    inference(fof_nnf,[status(thm)],[tsy_c_COMBS_res]) ).

fof(f_9_2,plain,
    ! [U_13,U_12,U_11] : ti(fun(fun(U_13,fun(U_12,U_11)),fun(fun(U_13,U_12),fun(U_13,U_11))),combs(U_13,U_12,U_11)) = combs(U_13,U_12,U_11),
    inference(variable_rename,[status(thm)],[f_9_1]) ).

cnf(f_9_3,plain,
    ti(fun(fun(U_13,fun(U_12,U_11)),fun(fun(U_13,U_12),fun(U_13,U_11))),combs(U_13,U_12,U_11)) = combs(U_13,U_12,U_11),
    inference(clausify,[status(thm)],[f_9_2]) ).

fof(f_10_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Conform_Oconf_res]) ).

fof(f_10_2,plain,
    ! [U_14] : 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,U_14)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)))),conf(U_14)) = conf(U_14),
    inference(variable_rename,[status(thm)],[f_10_1]) ).

cnf(f_10_3,plain,
    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,U_14)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)))),conf(U_14)) = conf(U_14),
    inference(clausify,[status(thm)],[f_10_2]) ).

fof(f_11_1,plain,
    ! [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))))),bool)),hconf(X_a)) = hconf(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Conform_Ohconf_res]) ).

fof(f_11_2,plain,
    ! [U_15] : 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,U_15)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(U_15)) = hconf(U_15),
    inference(variable_rename,[status(thm)],[f_11_1]) ).

cnf(f_11_3,plain,
    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,U_15)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool)),hconf(U_15)) = hconf(U_15),
    inference(clausify,[status(thm)],[f_11_2]) ).

fof(f_12_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Conform_Olconf_res]) ).

fof(f_12_2,plain,
    ! [U_16] : 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,U_16)))))))),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(U_16)) = lconf(U_16),
    inference(variable_rename,[status(thm)],[f_12_1]) ).

cnf(f_12_3,plain,
    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,U_16)))))))),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(U_16)) = lconf(U_16),
    inference(clausify,[status(thm)],[f_12_2]) ).

fof(f_13_1,plain,
    ! [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(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool))),oconf(X_a)) = oconf(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Conform_Ooconf_res]) ).

fof(f_13_2,plain,
    ! [U_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,U_17)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool))),oconf(U_17)) = oconf(U_17),
    inference(variable_rename,[status(thm)],[f_13_1]) ).

cnf(f_13_3,plain,
    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,U_17)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool))),oconf(U_17)) = oconf(U_17),
    inference(clausify,[status(thm)],[f_13_2]) ).

fof(f_14_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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))))))))),class_1(X_a)) = class_1(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Decl_Oclass_res]) ).

fof(f_14_2,plain,
    ! [U_18] : 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,U_18)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_18))))))))),class_1(U_18)) = class_1(U_18),
    inference(variable_rename,[status(thm)],[f_14_1]) ).

cnf(f_14_3,plain,
    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,U_18)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_18))))))))),class_1(U_18)) = class_1(U_18),
    inference(clausify,[status(thm)],[f_14_2]) ).

fof(f_15_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool)),is_class(X_a)) = is_class(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Decl_Ois__class_res]) ).

fof(f_15_2,plain,
    ! [U_19] : 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,U_19)))))))),fun(list(char),bool)),is_class(U_19)) = is_class(U_19),
    inference(variable_rename,[status(thm)],[f_15_1]) ).

cnf(f_15_3,plain,
    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,U_19)))))))),fun(list(char),bool)),is_class(U_19)) = is_class(U_19),
    inference(clausify,[status(thm)],[f_15_2]) ).

fof(f_16_1,plain,
    ! [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,bool)),is_type(X_a)) = is_type(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Decl_Ois__type_res]) ).

fof(f_16_2,plain,
    ! [U_20] : 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,U_20)))))))),fun(ty,bool)),is_type(U_20)) = is_type(U_20),
    inference(variable_rename,[status(thm)],[f_16_1]) ).

cnf(f_16_3,plain,
    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,U_20)))))))),fun(ty,bool)),is_type(U_20)) = is_type(U_20),
    inference(clausify,[status(thm)],[f_16_2]) ).

fof(f_17_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(option(fun(X_a,bool)),bool)),d(X_a)) = d(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_DefAss_O_092_060D_062_res]) ).

fof(f_17_2,plain,
    ! [U_21] : ti(fun(exp(U_21),fun(option(fun(U_21,bool)),bool)),d(U_21)) = d(U_21),
    inference(variable_rename,[status(thm)],[f_17_1]) ).

cnf(f_17_3,plain,
    ti(fun(exp(U_21),fun(option(fun(U_21,bool)),bool)),d(U_21)) = d(U_21),
    inference(clausify,[status(thm)],[f_17_2]) ).

fof(f_18_1,plain,
    ti(list(char),classCast) = classCast,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_OClassCast_res]) ).

cnf(f_18_2,plain,
    ti(list(char),classCast) = classCast,
    inference(clausify,[status(thm)],[f_18_1]) ).

fof(f_19_1,plain,
    ti(list(char),nullPointer) = nullPointer,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_ONullPointer_res]) ).

cnf(f_19_2,plain,
    ti(list(char),nullPointer) = nullPointer,
    inference(clausify,[status(thm)],[f_19_1]) ).

fof(f_20_1,plain,
    ti(list(char),outOfMemory) = outOfMemory,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_OOutOfMemory_res]) ).

cnf(f_20_2,plain,
    ti(list(char),outOfMemory) = outOfMemory,
    inference(clausify,[status(thm)],[f_20_1]) ).

fof(f_21_1,plain,
    ti(fun(list(char),nat),addr_of_sys_xcpt) = addr_of_sys_xcpt,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_Oaddr__of__sys__xcpt_res]) ).

cnf(f_21_2,plain,
    ti(fun(list(char),nat),addr_of_sys_xcpt) = addr_of_sys_xcpt,
    inference(clausify,[status(thm)],[f_21_1]) ).

fof(f_22_1,plain,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),preallocated) = preallocated,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_Opreallocated_res]) ).

cnf(f_22_2,plain,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),preallocated) = preallocated,
    inference(clausify,[status(thm)],[f_22_1]) ).

fof(f_23_1,plain,
    ! [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(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),start_heap(X_a)) = start_heap(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_Ostart__heap_res]) ).

fof(f_23_2,plain,
    ! [U_22] : 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,U_22)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),start_heap(U_22)) = start_heap(U_22),
    inference(variable_rename,[status(thm)],[f_23_1]) ).

cnf(f_23_3,plain,
    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,U_22)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),start_heap(U_22)) = start_heap(U_22),
    inference(clausify,[status(thm)],[f_23_2]) ).

fof(f_24_1,plain,
    ti(fun(list(char),bool),sys_xcpts) = sys_xcpts,
    inference(fof_nnf,[status(thm)],[tsy_c_Exceptions_Osys__xcpts_res]) ).

cnf(f_24_2,plain,
    ti(fun(list(char),bool),sys_xcpts) = sys_xcpts,
    inference(clausify,[status(thm)],[f_24_1]) ).

fof(f_25_1,plain,
    ti(fun(product_prod(bop,product_prod(val,val)),option(val)),binop) = binop,
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Obinop_res]) ).

cnf(f_25_2,plain,
    ti(fun(product_prod(bop,product_prod(val,val)),option(val)),binop) = binop,
    inference(clausify,[status(thm)],[f_25_1]) ).

fof(f_26_1,plain,
    ti(bop,add) = add,
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Obop_OAdd_res]) ).

cnf(f_26_2,plain,
    ti(bop,add) = add,
    inference(clausify,[status(thm)],[f_26_1]) ).

fof(f_27_1,plain,
    ti(bop,c_Expr_Obop_OEq) = c_Expr_Obop_OEq,
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Obop_OEq_res]) ).

cnf(f_27_2,plain,
    ti(bop,c_Expr_Obop_OEq) = c_Expr_Obop_OEq,
    inference(clausify,[status(thm)],[f_27_1]) ).

fof(f_28_1,plain,
    ! [X_t] : ti(fun(X_t,fun(X_t,fun(bop,X_t))),bop_case(X_t)) = bop_case(X_t),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Obop_Obop__case_res]) ).

fof(f_28_2,plain,
    ! [U_23] : ti(fun(U_23,fun(U_23,fun(bop,U_23))),bop_case(U_23)) = bop_case(U_23),
    inference(variable_rename,[status(thm)],[f_28_1]) ).

cnf(f_28_3,plain,
    ti(fun(U_23,fun(U_23,fun(bop,U_23))),bop_case(U_23)) = bop_case(U_23),
    inference(clausify,[status(thm)],[f_28_2]) ).

fof(f_29_1,plain,
    ! [X_t] : ti(fun(X_t,fun(X_t,fun(bop,X_t))),bop_rec(X_t)) = bop_rec(X_t),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Obop_Obop__rec_res]) ).

fof(f_29_2,plain,
    ! [U_24] : ti(fun(U_24,fun(U_24,fun(bop,U_24))),bop_rec(U_24)) = bop_rec(U_24),
    inference(variable_rename,[status(thm)],[f_29_1]) ).

cnf(f_29_3,plain,
    ti(fun(U_24,fun(U_24,fun(bop,U_24))),bop_rec(U_24)) = bop_rec(U_24),
    inference(clausify,[status(thm)],[f_29_2]) ).

fof(f_30_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a)))),binOp(X_a)) = binOp(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OBinOp_res]) ).

fof(f_30_2,plain,
    ! [U_25] : ti(fun(exp(U_25),fun(bop,fun(exp(U_25),exp(U_25)))),binOp(U_25)) = binOp(U_25),
    inference(variable_rename,[status(thm)],[f_30_1]) ).

cnf(f_30_3,plain,
    ti(fun(exp(U_25),fun(bop,fun(exp(U_25),exp(U_25)))),binOp(U_25)) = binOp(U_25),
    inference(clausify,[status(thm)],[f_30_2]) ).

fof(f_31_1,plain,
    ! [X_a] : ti(fun(X_a,fun(ty,fun(exp(X_a),exp(X_a)))),block(X_a)) = block(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OBlock_res]) ).

fof(f_31_2,plain,
    ! [U_26] : ti(fun(U_26,fun(ty,fun(exp(U_26),exp(U_26)))),block(U_26)) = block(U_26),
    inference(variable_rename,[status(thm)],[f_31_1]) ).

cnf(f_31_3,plain,
    ti(fun(U_26,fun(ty,fun(exp(U_26),exp(U_26)))),block(U_26)) = block(U_26),
    inference(clausify,[status(thm)],[f_31_2]) ).

fof(f_32_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a)))),call(X_a)) = call(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OCall_res]) ).

fof(f_32_2,plain,
    ! [U_27] : ti(fun(exp(U_27),fun(list(char),fun(list(exp(U_27)),exp(U_27)))),call(U_27)) = call(U_27),
    inference(variable_rename,[status(thm)],[f_32_1]) ).

cnf(f_32_3,plain,
    ti(fun(exp(U_27),fun(list(char),fun(list(exp(U_27)),exp(U_27)))),call(U_27)) = call(U_27),
    inference(clausify,[status(thm)],[f_32_2]) ).

fof(f_33_1,plain,
    ! [X_a] : ti(fun(list(char),fun(exp(X_a),exp(X_a))),cast(X_a)) = cast(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OCast_res]) ).

fof(f_33_2,plain,
    ! [U_28] : ti(fun(list(char),fun(exp(U_28),exp(U_28))),cast(U_28)) = cast(U_28),
    inference(variable_rename,[status(thm)],[f_33_1]) ).

cnf(f_33_3,plain,
    ti(fun(list(char),fun(exp(U_28),exp(U_28))),cast(U_28)) = cast(U_28),
    inference(clausify,[status(thm)],[f_33_2]) ).

fof(f_34_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a)))),cond(X_a)) = cond(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OCond_res]) ).

fof(f_34_2,plain,
    ! [U_29] : ti(fun(exp(U_29),fun(exp(U_29),fun(exp(U_29),exp(U_29)))),cond(U_29)) = cond(U_29),
    inference(variable_rename,[status(thm)],[f_34_1]) ).

cnf(f_34_3,plain,
    ti(fun(exp(U_29),fun(exp(U_29),fun(exp(U_29),exp(U_29)))),cond(U_29)) = cond(U_29),
    inference(clausify,[status(thm)],[f_34_2]) ).

fof(f_35_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(char),exp(X_a)))),fAcc(X_a)) = fAcc(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OFAcc_res]) ).

fof(f_35_2,plain,
    ! [U_30] : ti(fun(exp(U_30),fun(list(char),fun(list(char),exp(U_30)))),fAcc(U_30)) = fAcc(U_30),
    inference(variable_rename,[status(thm)],[f_35_1]) ).

cnf(f_35_3,plain,
    ti(fun(exp(U_30),fun(list(char),fun(list(char),exp(U_30)))),fAcc(U_30)) = fAcc(U_30),
    inference(clausify,[status(thm)],[f_35_2]) ).

fof(f_36_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a))))),fAss(X_a)) = fAss(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OFAss_res]) ).

fof(f_36_2,plain,
    ! [U_31] : ti(fun(exp(U_31),fun(list(char),fun(list(char),fun(exp(U_31),exp(U_31))))),fAss(U_31)) = fAss(U_31),
    inference(variable_rename,[status(thm)],[f_36_1]) ).

cnf(f_36_3,plain,
    ti(fun(exp(U_31),fun(list(char),fun(list(char),fun(exp(U_31),exp(U_31))))),fAss(U_31)) = fAss(U_31),
    inference(clausify,[status(thm)],[f_36_2]) ).

fof(f_37_1,plain,
    ! [X_a] : ti(fun(X_a,fun(exp(X_a),exp(X_a))),lAss(X_a)) = lAss(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OLAss_res]) ).

fof(f_37_2,plain,
    ! [U_32] : ti(fun(U_32,fun(exp(U_32),exp(U_32))),lAss(U_32)) = lAss(U_32),
    inference(variable_rename,[status(thm)],[f_37_1]) ).

cnf(f_37_3,plain,
    ti(fun(U_32,fun(exp(U_32),exp(U_32))),lAss(U_32)) = lAss(U_32),
    inference(clausify,[status(thm)],[f_37_2]) ).

fof(f_38_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),seq(X_a)) = seq(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OSeq_res]) ).

fof(f_38_2,plain,
    ! [U_33] : ti(fun(exp(U_33),fun(exp(U_33),exp(U_33))),seq(U_33)) = seq(U_33),
    inference(variable_rename,[status(thm)],[f_38_1]) ).

cnf(f_38_3,plain,
    ti(fun(exp(U_33),fun(exp(U_33),exp(U_33))),seq(U_33)) = seq(U_33),
    inference(clausify,[status(thm)],[f_38_2]) ).

fof(f_39_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a))))),tryCatch(X_a)) = tryCatch(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OTryCatch_res]) ).

fof(f_39_2,plain,
    ! [U_34] : ti(fun(exp(U_34),fun(list(char),fun(U_34,fun(exp(U_34),exp(U_34))))),tryCatch(U_34)) = tryCatch(U_34),
    inference(variable_rename,[status(thm)],[f_39_1]) ).

cnf(f_39_3,plain,
    ti(fun(exp(U_34),fun(list(char),fun(U_34,fun(exp(U_34),exp(U_34))))),tryCatch(U_34)) = tryCatch(U_34),
    inference(clausify,[status(thm)],[f_39_2]) ).

fof(f_40_1,plain,
    ! [X_a] : ti(fun(val,exp(X_a)),val_1(X_a)) = val_1(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OVal_res]) ).

fof(f_40_2,plain,
    ! [U_35] : ti(fun(val,exp(U_35)),val_1(U_35)) = val_1(U_35),
    inference(variable_rename,[status(thm)],[f_40_1]) ).

cnf(f_40_3,plain,
    ti(fun(val,exp(U_35)),val_1(U_35)) = val_1(U_35),
    inference(clausify,[status(thm)],[f_40_2]) ).

fof(f_41_1,plain,
    ! [X_a] : ti(fun(exp(X_a),fun(exp(X_a),exp(X_a))),while(X_a)) = while(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_OWhile_res]) ).

fof(f_41_2,plain,
    ! [U_36] : ti(fun(exp(U_36),fun(exp(U_36),exp(U_36))),while(U_36)) = while(U_36),
    inference(variable_rename,[status(thm)],[f_41_1]) ).

cnf(f_41_3,plain,
    ti(fun(exp(U_36),fun(exp(U_36),exp(U_36))),while(U_36)) = while(U_36),
    inference(clausify,[status(thm)],[f_41_2]) ).

fof(f_42_1,plain,
    ! [X_a] : ti(fun(list(char),exp(X_a)),new(X_a)) = new(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_Onew_res]) ).

fof(f_42_2,plain,
    ! [U_37] : ti(fun(list(char),exp(U_37)),new(U_37)) = new(U_37),
    inference(variable_rename,[status(thm)],[f_42_1]) ).

cnf(f_42_3,plain,
    ti(fun(list(char),exp(U_37)),new(U_37)) = new(U_37),
    inference(clausify,[status(thm)],[f_42_2]) ).

fof(f_43_1,plain,
    ! [X_a] : ti(fun(exp(X_a),exp(X_a)),throw(X_a)) = throw(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Oexp_Othrow_res]) ).

fof(f_43_2,plain,
    ! [U_38] : ti(fun(exp(U_38),exp(U_38)),throw(U_38)) = throw(U_38),
    inference(variable_rename,[status(thm)],[f_43_1]) ).

cnf(f_43_3,plain,
    ti(fun(exp(U_38),exp(U_38)),throw(U_38)) = throw(U_38),
    inference(clausify,[status(thm)],[f_43_2]) ).

fof(f_44_1,plain,
    ti(fun(exp(list(char)),fun(list(char),bool)),fv) = fv,
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Ofv_res]) ).

cnf(f_44_2,plain,
    ti(fun(exp(list(char)),fun(list(char),bool)),fv) = fv,
    inference(clausify,[status(thm)],[f_44_1]) ).

fof(f_45_1,plain,
    ti(fun(list(exp(list(char))),fun(list(char),bool)),fvs) = fvs,
    inference(fof_nnf,[status(thm)],[tsy_c_Expr_Ofvs_res]) ).

cnf(f_45_2,plain,
    ti(fun(list(exp(list(char))),fun(list(char),bool)),fvs) = fvs,
    inference(clausify,[status(thm)],[f_45_1]) ).

fof(f_46_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Fun_Ocomp_res]) ).

fof(f_46_2,plain,
    ! [U_41,U_40,U_39] : ti(fun(fun(U_41,U_40),fun(fun(U_39,U_41),fun(U_39,U_40))),comp(U_41,U_40,U_39)) = comp(U_41,U_40,U_39),
    inference(variable_rename,[status(thm)],[f_46_1]) ).

cnf(f_46_3,plain,
    ti(fun(fun(U_41,U_40),fun(fun(U_39,U_41),fun(U_39,U_40))),comp(U_41,U_40,U_39)) = comp(U_41,U_40,U_39),
    inference(clausify,[status(thm)],[f_46_2]) ).

fof(f_47_1,plain,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b)))),fun_upd(X_a,X_b)) = fun_upd(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Fun_Ofun__upd_res]) ).

fof(f_47_2,plain,
    ! [U_43,U_42] : ti(fun(fun(U_43,U_42),fun(U_43,fun(U_42,fun(U_43,U_42)))),fun_upd(U_43,U_42)) = fun_upd(U_43,U_42),
    inference(variable_rename,[status(thm)],[f_47_1]) ).

cnf(f_47_3,plain,
    ti(fun(fun(U_43,U_42),fun(U_43,fun(U_42,fun(U_43,U_42)))),fun_upd(U_43,U_42)) = fun_upd(U_43,U_42),
    inference(clausify,[status(thm)],[f_47_2]) ).

fof(f_48_1,plain,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)))),override_on(X_a,X_b)) = override_on(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Fun_Ooverride__on_res]) ).

fof(f_48_2,plain,
    ! [U_45,U_44] : ti(fun(fun(U_45,U_44),fun(fun(U_45,U_44),fun(fun(U_45,bool),fun(U_45,U_44)))),override_on(U_45,U_44)) = override_on(U_45,U_44),
    inference(variable_rename,[status(thm)],[f_48_1]) ).

cnf(f_48_3,plain,
    ti(fun(fun(U_45,U_44),fun(fun(U_45,U_44),fun(fun(U_45,bool),fun(U_45,U_44)))),override_on(U_45,U_44)) = override_on(U_45,U_44),
    inference(clausify,[status(thm)],[f_48_2]) ).

fof(f_49_1,plain,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b)),the_1(product_prod(X_a,X_b))) = the_1(product_prod(X_a,X_b)),
    inference(fof_nnf,[status(thm)],[tsy_c_HOL_OThe_res]) ).

fof(f_49_2,plain,
    ! [U_47,U_46] : ti(fun(fun(product_prod(U_47,U_46),bool),product_prod(U_47,U_46)),the_1(product_prod(U_47,U_46))) = the_1(product_prod(U_47,U_46)),
    inference(variable_rename,[status(thm)],[f_49_1]) ).

cnf(f_49_3,plain,
    ti(fun(fun(product_prod(U_47,U_46),bool),product_prod(U_47,U_46)),the_1(product_prod(U_47,U_46))) = the_1(product_prod(U_47,U_46)),
    inference(clausify,[status(thm)],[f_49_2]) ).

fof(f_50_1,plain,
    ! [X_a] : ti(X_a,undefined(X_a)) = undefined(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_HOL_Oundefined_res]) ).

fof(f_50_2,plain,
    ! [U_48] : ti(U_48,undefined(U_48)) = undefined(U_48),
    inference(variable_rename,[status(thm)],[f_50_1]) ).

cnf(f_50_3,plain,
    ti(U_48,undefined(U_48)) = undefined(U_48),
    inference(clausify,[status(thm)],[f_50_2]) ).

fof(f_51_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    inference(fof_nnf,[status(thm)],[tsy_c_JWellForm_Owf__J__mdecl_res]) ).

cnf(f_51_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wf_J_mdecl) = wf_J_mdecl,
    inference(clausify,[status(thm)],[f_51_1]) ).

fof(f_52_1,plain,
    ! [X_a] :
      ( ti(fun(X_a,fun(X_a,X_a)),semilattice_sup_sup(X_a)) = semilattice_sup_sup(X_a)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[tsy_c_Lattices_Osemilattice__sup__class_Osup_res]) ).

fof(f_52_2,plain,
    ! [U_49] :
      ( ti(fun(U_49,fun(U_49,U_49)),semilattice_sup_sup(U_49)) = semilattice_sup_sup(U_49)
      | ~ semilattice_sup(U_49) ),
    inference(variable_rename,[status(thm)],[f_52_1]) ).

cnf(f_52_3,plain,
    ( ti(fun(U_49,fun(U_49,U_49)),semilattice_sup_sup(U_49)) = semilattice_sup_sup(U_49)
    | ~ semilattice_sup(U_49) ),
    inference(clausify,[status(thm)],[f_52_2]) ).

fof(f_53_1,plain,
    ! [X_b] : ti(fun(list(X_b),fun(list(X_b),list(X_b))),append(X_b)) = append(X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Oappend_res]) ).

fof(f_53_2,plain,
    ! [U_50] : ti(fun(list(U_50),fun(list(U_50),list(U_50))),append(U_50)) = append(U_50),
    inference(variable_rename,[status(thm)],[f_53_1]) ).

cnf(f_53_3,plain,
    ti(fun(list(U_50),fun(list(U_50),list(U_50))),append(U_50)) = append(U_50),
    inference(clausify,[status(thm)],[f_53_2]) ).

fof(f_54_1,plain,
    ! [X_a] : ti(fun(list(X_a),bool),distinct(X_a)) = distinct(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Odistinct_res]) ).

fof(f_54_2,plain,
    ! [U_51] : ti(fun(list(U_51),bool),distinct(U_51)) = distinct(U_51),
    inference(variable_rename,[status(thm)],[f_54_1]) ).

cnf(f_54_3,plain,
    ti(fun(list(U_51),bool),distinct(U_51)) = distinct(U_51),
    inference(clausify,[status(thm)],[f_54_2]) ).

fof(f_55_1,plain,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),cons(X_a)) = cons(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Olist_OCons_res]) ).

fof(f_55_2,plain,
    ! [U_52] : ti(fun(U_52,fun(list(U_52),list(U_52))),cons(U_52)) = cons(U_52),
    inference(variable_rename,[status(thm)],[f_55_1]) ).

cnf(f_55_3,plain,
    ti(fun(U_52,fun(list(U_52),list(U_52))),cons(U_52)) = cons(U_52),
    inference(clausify,[status(thm)],[f_55_2]) ).

fof(f_56_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Olist__all2_res]) ).

fof(f_56_2,plain,
    ! [U_54,U_53] : ti(fun(fun(U_54,fun(U_53,bool)),fun(list(U_54),fun(list(U_53),bool))),list_all2(U_54,U_53)) = list_all2(U_54,U_53),
    inference(variable_rename,[status(thm)],[f_56_1]) ).

cnf(f_56_3,plain,
    ti(fun(fun(U_54,fun(U_53,bool)),fun(list(U_54),fun(list(U_53),bool))),list_all2(U_54,U_53)) = list_all2(U_54,U_53),
    inference(clausify,[status(thm)],[f_56_2]) ).

fof(f_57_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Omap_res]) ).

fof(f_57_2,plain,
    ! [U_56,U_55] : ti(fun(fun(U_56,U_55),fun(list(U_56),list(U_55))),map(U_56,U_55)) = map(U_56,U_55),
    inference(variable_rename,[status(thm)],[f_57_1]) ).

cnf(f_57_3,plain,
    ti(fun(fun(U_56,U_55),fun(list(U_56),list(U_55))),map(U_56,U_55)) = map(U_56,U_55),
    inference(clausify,[status(thm)],[f_57_2]) ).

fof(f_58_1,plain,
    ! [X_a] : ti(fun(list(X_a),fun(X_a,bool)),set(X_a)) = set(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_List_Oset_res]) ).

fof(f_58_2,plain,
    ! [U_57] : ti(fun(list(U_57),fun(U_57,bool)),set(U_57)) = set(U_57),
    inference(variable_rename,[status(thm)],[f_58_1]) ).

cnf(f_58_3,plain,
    ti(fun(list(U_57),fun(U_57,bool)),set(U_57)) = set(U_57),
    inference(clausify,[status(thm)],[f_58_2]) ).

fof(f_59_1,plain,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(X_a,bool)),dom(X_a,X_b)) = dom(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Map_Odom_res]) ).

fof(f_59_2,plain,
    ! [U_59,U_58] : ti(fun(fun(U_59,option(U_58)),fun(U_59,bool)),dom(U_59,U_58)) = dom(U_59,U_58),
    inference(variable_rename,[status(thm)],[f_59_1]) ).

cnf(f_59_3,plain,
    ti(fun(fun(U_59,option(U_58)),fun(U_59,bool)),dom(U_59,U_58)) = dom(U_59,U_58),
    inference(clausify,[status(thm)],[f_59_2]) ).

fof(f_60_1,plain,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b)))),map_add(X_a,X_b)) = map_add(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Map_Omap__add_res]) ).

fof(f_60_2,plain,
    ! [U_61,U_60] : ti(fun(fun(U_61,option(U_60)),fun(fun(U_61,option(U_60)),fun(U_61,option(U_60)))),map_add(U_61,U_60)) = map_add(U_61,U_60),
    inference(variable_rename,[status(thm)],[f_60_1]) ).

cnf(f_60_3,plain,
    ti(fun(fun(U_61,option(U_60)),fun(fun(U_61,option(U_60)),fun(U_61,option(U_60)))),map_add(U_61,U_60)) = map_add(U_61,U_60),
    inference(clausify,[status(thm)],[f_60_2]) ).

fof(f_61_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Map_Omap__upds_res]) ).

fof(f_61_2,plain,
    ! [U_63,U_62] : ti(fun(fun(U_63,option(U_62)),fun(list(U_63),fun(list(U_62),fun(U_63,option(U_62))))),map_upds(U_63,U_62)) = map_upds(U_63,U_62),
    inference(variable_rename,[status(thm)],[f_61_1]) ).

cnf(f_61_3,plain,
    ti(fun(fun(U_63,option(U_62)),fun(list(U_63),fun(list(U_62),fun(U_63,option(U_62))))),map_upds(U_63,U_62)) = map_upds(U_63,U_62),
    inference(clausify,[status(thm)],[f_61_2]) ).

fof(f_62_1,plain,
    ! [X_a,X_b] : ti(fun(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b)))),restrict_map(X_a,X_b)) = restrict_map(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Map_Orestrict__map_res]) ).

fof(f_62_2,plain,
    ! [U_65,U_64] : ti(fun(fun(U_65,option(U_64)),fun(fun(U_65,bool),fun(U_65,option(U_64)))),restrict_map(U_65,U_64)) = restrict_map(U_65,U_64),
    inference(variable_rename,[status(thm)],[f_62_1]) ).

cnf(f_62_3,plain,
    ti(fun(fun(U_65,option(U_64)),fun(fun(U_65,bool),fun(U_65,option(U_64)))),restrict_map(U_65,U_64)) = restrict_map(U_65,U_64),
    inference(clausify,[status(thm)],[f_62_2]) ).

fof(f_63_1,plain,
    ! [X_a] : ti(fun(list(X_a),nat),size_size(list(X_a))) = size_size(list(X_a)),
    inference(fof_nnf,[status(thm)],[tsy_c_Nat_Osize__class_Osize_res]) ).

fof(f_63_2,plain,
    ! [U_66] : ti(fun(list(U_66),nat),size_size(list(U_66))) = size_size(list(U_66)),
    inference(variable_rename,[status(thm)],[f_63_1]) ).

cnf(f_63_3,plain,
    ti(fun(list(U_66),nat),size_size(list(U_66))) = size_size(list(U_66)),
    inference(clausify,[status(thm)],[f_63_2]) ).

fof(f_64_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),blank(X_a)) = blank(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Oblank_res]) ).

fof(f_64_2,plain,
    ! [U_67] : 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,U_67)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),blank(U_67)) = blank(U_67),
    inference(variable_rename,[status(thm)],[f_64_1]) ).

cnf(f_64_3,plain,
    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,U_67)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),blank(U_67)) = blank(U_67),
    inference(clausify,[status(thm)],[f_64_2]) ).

fof(f_65_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Ohext_res]) ).

cnf(f_65_2,plain,
    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,
    inference(clausify,[status(thm)],[f_65_1]) ).

fof(f_66_1,plain,
    ti(fun(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val))),init_fields) = init_fields,
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Oinit__fields_res]) ).

cnf(f_66_2,plain,
    ti(fun(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val))),init_fields) = init_fields,
    inference(clausify,[status(thm)],[f_66_1]) ).

fof(f_67_1,plain,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat)),new_Addr) = new_Addr,
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Onew__Addr_res]) ).

cnf(f_67_2,plain,
    ti(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat)),new_Addr) = new_Addr,
    inference(clausify,[status(thm)],[f_67_1]) ).

fof(f_68_1,plain,
    ti(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty),obj_ty) = obj_ty,
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Oobj__ty_res]) ).

cnf(f_68_2,plain,
    ti(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty),obj_ty) = obj_ty,
    inference(clausify,[status(thm)],[f_68_1]) ).

fof(f_69_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_Objects_Otypeof__h_res]) ).

cnf(f_69_2,plain,
    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,
    inference(clausify,[status(thm)],[f_69_1]) ).

fof(f_70_1,plain,
    ! [X_a] : ti(option(X_a),none(X_a)) = none(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Option_Ooption_ONone_res]) ).

fof(f_70_2,plain,
    ! [U_68] : ti(option(U_68),none(U_68)) = none(U_68),
    inference(variable_rename,[status(thm)],[f_70_1]) ).

cnf(f_70_3,plain,
    ti(option(U_68),none(U_68)) = none(U_68),
    inference(clausify,[status(thm)],[f_70_2]) ).

fof(f_71_1,plain,
    ! [X_a] : ti(fun(X_a,option(X_a)),some(X_a)) = some(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Option_Ooption_OSome_res]) ).

fof(f_71_2,plain,
    ! [U_69] : ti(fun(U_69,option(U_69)),some(U_69)) = some(U_69),
    inference(variable_rename,[status(thm)],[f_71_1]) ).

cnf(f_71_3,plain,
    ti(fun(U_69,option(U_69)),some(U_69)) = some(U_69),
    inference(clausify,[status(thm)],[f_71_2]) ).

fof(f_72_1,plain,
    ! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a))),option_case(X_a,X_b)) = option_case(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Option_Ooption_Ooption__case_res]) ).

fof(f_72_2,plain,
    ! [U_71,U_70] : ti(fun(U_71,fun(fun(U_70,U_71),fun(option(U_70),U_71))),option_case(U_71,U_70)) = option_case(U_71,U_70),
    inference(variable_rename,[status(thm)],[f_72_1]) ).

cnf(f_72_3,plain,
    ti(fun(U_71,fun(fun(U_70,U_71),fun(option(U_70),U_71))),option_case(U_71,U_70)) = option_case(U_71,U_70),
    inference(clausify,[status(thm)],[f_72_2]) ).

fof(f_73_1,plain,
    ! [X_a] : ti(fun(option(X_a),X_a),the(X_a)) = the(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Option_Othe_res]) ).

fof(f_73_2,plain,
    ! [U_72] : ti(fun(option(U_72),U_72),the(U_72)) = the(U_72),
    inference(variable_rename,[status(thm)],[f_73_1]) ).

cnf(f_73_3,plain,
    ti(fun(option(U_72),U_72),the(U_72)) = the(U_72),
    inference(clausify,[status(thm)],[f_73_2]) ).

fof(f_74_1,plain,
    ! [X_a] :
      ( ti(fun(X_a,fun(X_a,bool)),ord_less_eq(X_a)) = ord_less_eq(X_a)
      | ~ ord(X_a) ),
    inference(fof_nnf,[status(thm)],[tsy_c_Orderings_Oord__class_Oless__eq_res]) ).

fof(f_74_2,plain,
    ! [U_73] :
      ( ti(fun(U_73,fun(U_73,bool)),ord_less_eq(U_73)) = ord_less_eq(U_73)
      | ~ ord(U_73) ),
    inference(variable_rename,[status(thm)],[f_74_1]) ).

cnf(f_74_3,plain,
    ( ti(fun(U_73,fun(U_73,bool)),ord_less_eq(U_73)) = ord_less_eq(U_73)
    | ~ ord(U_73) ),
    inference(clausify,[status(thm)],[f_74_2]) ).

fof(f_75_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Product__Type_OPair_res]) ).

fof(f_75_2,plain,
    ! [U_75,U_74] : ti(fun(U_75,fun(U_74,product_prod(U_75,U_74))),product_Pair(U_75,U_74)) = product_Pair(U_75,U_74),
    inference(variable_rename,[status(thm)],[f_75_1]) ).

cnf(f_75_3,plain,
    ti(fun(U_75,fun(U_74,product_prod(U_75,U_74))),product_Pair(U_75,U_74)) = product_Pair(U_75,U_74),
    inference(clausify,[status(thm)],[f_75_2]) ).

fof(f_76_1,plain,
    ! [X_a,X_b,X_c] : ti(fun(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c))),product_curry(X_a,X_b,X_c)) = product_curry(X_a,X_b,X_c),
    inference(fof_nnf,[status(thm)],[tsy_c_Product__Type_Ocurry_res]) ).

fof(f_76_2,plain,
    ! [U_78,U_77,U_76] : ti(fun(fun(product_prod(U_78,U_77),U_76),fun(U_78,fun(U_77,U_76))),product_curry(U_78,U_77,U_76)) = product_curry(U_78,U_77,U_76),
    inference(variable_rename,[status(thm)],[f_76_1]) ).

cnf(f_76_3,plain,
    ti(fun(fun(product_prod(U_78,U_77),U_76),fun(U_78,fun(U_77,U_76))),product_curry(U_78,U_77,U_76)) = product_curry(U_78,U_77,U_76),
    inference(clausify,[status(thm)],[f_76_2]) ).

fof(f_77_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Product__Type_Ointernal__split_res]) ).

fof(f_77_2,plain,
    ! [U_81,U_80,U_79] : ti(fun(fun(U_81,fun(U_80,U_79)),fun(product_prod(U_81,U_80),U_79)),produc1605651328_split(U_81,U_80,U_79)) = produc1605651328_split(U_81,U_80,U_79),
    inference(variable_rename,[status(thm)],[f_77_1]) ).

cnf(f_77_3,plain,
    ti(fun(fun(U_81,fun(U_80,U_79)),fun(product_prod(U_81,U_80),U_79)),produc1605651328_split(U_81,U_80,U_79)) = produc1605651328_split(U_81,U_80,U_79),
    inference(clausify,[status(thm)],[f_77_2]) ).

fof(f_78_1,plain,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c)),product_prod_case(X_a,X_b,X_c)) = product_prod_case(X_a,X_b,X_c),
    inference(fof_nnf,[status(thm)],[tsy_c_Product__Type_Oprod_Oprod__case_res]) ).

fof(f_78_2,plain,
    ! [U_84,U_83,U_82] : ti(fun(fun(U_84,fun(U_83,U_82)),fun(product_prod(U_84,U_83),U_82)),product_prod_case(U_84,U_83,U_82)) = product_prod_case(U_84,U_83,U_82),
    inference(variable_rename,[status(thm)],[f_78_1]) ).

cnf(f_78_3,plain,
    ti(fun(fun(U_84,fun(U_83,U_82)),fun(product_prod(U_84,U_83),U_82)),product_prod_case(U_84,U_83,U_82)) = product_prod_case(U_84,U_83,U_82),
    inference(clausify,[status(thm)],[f_78_2]) ).

fof(f_79_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Product__Type_Oprod_Oprod__rec_res]) ).

fof(f_79_2,plain,
    ! [U_87,U_86,U_85] : ti(fun(fun(U_87,fun(U_86,U_85)),fun(product_prod(U_87,U_86),U_85)),product_prod_rec(U_87,U_86,U_85)) = product_prod_rec(U_87,U_86,U_85),
    inference(variable_rename,[status(thm)],[f_79_1]) ).

cnf(f_79_3,plain,
    ti(fun(fun(U_87,fun(U_86,U_85)),fun(product_prod(U_87,U_86),U_85)),product_prod_rec(U_87,U_86,U_85)) = product_prod_rec(U_87,U_86,U_85),
    inference(clausify,[status(thm)],[f_79_2]) ).

fof(f_80_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_Progress_OWTrt_H_res]) ).

cnf(f_80_2,plain,
    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,
    inference(clausify,[status(thm)],[f_80_1]) ).

fof(f_81_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_Progress_OWTrts_H_res]) ).

cnf(f_81_2,plain,
    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,
    inference(clausify,[status(thm)],[f_81_1]) ).

fof(f_82_1,plain,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(X_a,bool)),collect(X_a)) = collect(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Set_OCollect_res]) ).

fof(f_82_2,plain,
    ! [U_88] : ti(fun(fun(U_88,bool),fun(U_88,bool)),collect(U_88)) = collect(U_88),
    inference(variable_rename,[status(thm)],[f_82_1]) ).

cnf(f_82_3,plain,
    ti(fun(fun(U_88,bool),fun(U_88,bool)),collect(U_88)) = collect(U_88),
    inference(clausify,[status(thm)],[f_82_2]) ).

fof(f_83_1,plain,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Oassigned_res]) ).

cnf(f_83_2,plain,
    ti(fun(list(char),fun(exp(list(char)),bool)),assigned) = assigned,
    inference(clausify,[status(thm)],[f_83_1]) ).

fof(f_84_1,plain,
    ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks) = blocks,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Oblocks_res]) ).

cnf(f_84_2,plain,
    ti(fun(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char))),blocks) = blocks,
    inference(clausify,[status(thm)],[f_84_1]) ).

fof(f_85_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Ored_res]) ).

cnf(f_85_2,plain,
    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,
    inference(clausify,[status(thm)],[f_85_1]) ).

fof(f_86_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Oredp_res]) ).

cnf(f_86_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redp) = redp,
    inference(clausify,[status(thm)],[f_86_1]) ).

fof(f_87_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),reds) = reds,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Oreds_res]) ).

cnf(f_87_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool)),reds) = reds,
    inference(clausify,[status(thm)],[f_87_1]) ).

fof(f_88_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redsp) = redsp,
    inference(fof_nnf,[status(thm)],[tsy_c_SmallStep_Oredsp_res]) ).

cnf(f_88_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))))),redsp) = redsp,
    inference(clausify,[status(thm)],[f_88_1]) ).

fof(f_89_1,plain,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    inference(fof_nnf,[status(thm)],[tsy_c_State_Ohp_res]) ).

cnf(f_89_2,plain,
    ti(fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hp) = hp,
    inference(clausify,[status(thm)],[f_89_1]) ).

fof(f_90_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[tsy_c_Transitive__Closure_Ortrancl_res]) ).

fof(f_90_2,plain,
    ! [U_89] : ti(fun(fun(product_prod(U_89,U_89),bool),fun(product_prod(U_89,U_89),bool)),transitive_rtrancl(U_89)) = transitive_rtrancl(U_89),
    inference(variable_rename,[status(thm)],[f_90_1]) ).

cnf(f_90_3,plain,
    ti(fun(fun(product_prod(U_89,U_89),bool),fun(product_prod(U_89,U_89),bool)),transitive_rtrancl(U_89)) = transitive_rtrancl(U_89),
    inference(clausify,[status(thm)],[f_90_2]) ).

fof(f_91_1,plain,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),transitive_rtranclp(X_a)) = transitive_rtranclp(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Transitive__Closure_Ortranclp_res]) ).

fof(f_91_2,plain,
    ! [U_90] : ti(fun(fun(U_90,fun(U_90,bool)),fun(U_90,fun(U_90,bool))),transitive_rtranclp(U_90)) = transitive_rtranclp(U_90),
    inference(variable_rename,[status(thm)],[f_91_1]) ).

cnf(f_91_3,plain,
    ti(fun(fun(U_90,fun(U_90,bool)),fun(U_90,fun(U_90,bool))),transitive_rtranclp(U_90)) = transitive_rtranclp(U_90),
    inference(clausify,[status(thm)],[f_91_2]) ).

fof(f_92_1,plain,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),transitive_trancl(X_a)) = transitive_trancl(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Transitive__Closure_Otrancl_res]) ).

fof(f_92_2,plain,
    ! [U_91] : ti(fun(fun(product_prod(U_91,U_91),bool),fun(product_prod(U_91,U_91),bool)),transitive_trancl(U_91)) = transitive_trancl(U_91),
    inference(variable_rename,[status(thm)],[f_92_1]) ).

cnf(f_92_3,plain,
    ti(fun(fun(product_prod(U_91,U_91),bool),fun(product_prod(U_91,U_91),bool)),transitive_trancl(U_91)) = transitive_trancl(U_91),
    inference(clausify,[status(thm)],[f_92_2]) ).

fof(f_93_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool))),fields(X_a)) = fields(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_OFields_res]) ).

fof(f_93_2,plain,
    ! [U_92] : 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,U_92)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool))),fields(U_92)) = fields(U_92),
    inference(variable_rename,[status(thm)],[f_93_1]) ).

cnf(f_93_3,plain,
    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,U_92)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool))),fields(U_92)) = fields(U_92),
    inference(clausify,[status(thm)],[f_93_2]) ).

fof(f_94_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))))),method(X_a)) = method(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_OMethod_res]) ).

fof(f_94_2,plain,
    ! [U_93] : 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,U_93)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_93,fun(list(char),bool))))))),method(U_93)) = method(U_93),
    inference(variable_rename,[status(thm)],[f_94_1]) ).

cnf(f_94_3,plain,
    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,U_93)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_93,fun(list(char),bool))))))),method(U_93)) = method(U_93),
    inference(clausify,[status(thm)],[f_94_2]) ).

fof(f_95_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool))),methods(X_a)) = methods(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_OMethods_res]) ).

fof(f_95_2,plain,
    ! [U_94] : 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,U_94)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_94)),list(char)))),bool))),methods(U_94)) = methods(U_94),
    inference(variable_rename,[status(thm)],[f_95_1]) ).

cnf(f_95_3,plain,
    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,U_94)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_94)),list(char)))),bool))),methods(U_94)) = methods(U_94),
    inference(clausify,[status(thm)],[f_95_2]) ).

fof(f_96_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty)))),field(X_a)) = field(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Ofield_res]) ).

fof(f_96_2,plain,
    ! [U_95] : 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,U_95)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty)))),field(U_95)) = field(U_95),
    inference(variable_rename,[status(thm)],[f_96_1]) ).

cnf(f_96_3,plain,
    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,U_95)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty)))),field(U_95)) = field(U_95),
    inference(clausify,[status(thm)],[f_96_2]) ).

fof(f_97_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty)))),fields_1(X_a)) = fields_1(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Ofields_res]) ).

fof(f_97_2,plain,
    ! [U_96] : 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,U_96)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty)))),fields_1(U_96)) = fields_1(U_96),
    inference(variable_rename,[status(thm)],[f_97_1]) ).

cnf(f_97_3,plain,
    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,U_96)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty)))),fields_1(U_96)) = fields_1(U_96),
    inference(clausify,[status(thm)],[f_97_2]) ).

fof(f_98_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),has_field(X_a)) = has_field(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Ohas__field_res]) ).

fof(f_98_2,plain,
    ! [U_97] : 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,U_97)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),has_field(U_97)) = has_field(U_97),
    inference(variable_rename,[status(thm)],[f_98_1]) ).

cnf(f_98_3,plain,
    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,U_97)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),has_field(U_97)) = has_field(U_97),
    inference(clausify,[status(thm)],[f_98_2]) ).

fof(f_99_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),method_1(X_a)) = method_1(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Omethod_res]) ).

fof(f_99_2,plain,
    ! [U_98] : 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,U_98)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_98)))))),method_1(U_98)) = method_1(U_98),
    inference(variable_rename,[status(thm)],[f_99_1]) ).

cnf(f_99_3,plain,
    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,U_98)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_98)))))),method_1(U_98)) = method_1(U_98),
    inference(clausify,[status(thm)],[f_99_2]) ).

fof(f_100_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),sees_field(X_a)) = sees_field(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Osees__field_res]) ).

fof(f_100_2,plain,
    ! [U_99] : 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,U_99)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),sees_field(U_99)) = sees_field(U_99),
    inference(variable_rename,[status(thm)],[f_100_1]) ).

cnf(f_100_3,plain,
    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,U_99)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool))))),sees_field(U_99)) = sees_field(U_99),
    inference(clausify,[status(thm)],[f_100_2]) ).

fof(f_101_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool)),subcls1(X_a)) = subcls1(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Osubcls1_res]) ).

fof(f_101_2,plain,
    ! [U_100] : 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,U_100)))))))),fun(product_prod(list(char),list(char)),bool)),subcls1(U_100)) = subcls1(U_100),
    inference(variable_rename,[status(thm)],[f_101_1]) ).

cnf(f_101_3,plain,
    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,U_100)))))))),fun(product_prod(list(char),list(char)),bool)),subcls1(U_100)) = subcls1(U_100),
    inference(clausify,[status(thm)],[f_101_2]) ).

fof(f_102_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool))),subcls1p(X_a)) = subcls1p(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Osubcls1p_res]) ).

fof(f_102_2,plain,
    ! [U_101] : 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,U_101)))))))),fun(list(char),fun(list(char),bool))),subcls1p(U_101)) = subcls1p(U_101),
    inference(variable_rename,[status(thm)],[f_102_1]) ).

cnf(f_102_3,plain,
    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,U_101)))))))),fun(list(char),fun(list(char),bool))),subcls1p(U_101)) = subcls1p(U_101),
    inference(clausify,[status(thm)],[f_102_2]) ).

fof(f_103_1,plain,
    ! [X_m] : 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_m)))))))),fun(ty,fun(ty,bool))),widen(X_m)) = widen(X_m),
    inference(fof_nnf,[status(thm)],[tsy_c_TypeRel_Owiden_res]) ).

fof(f_103_2,plain,
    ! [U_102] : 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,U_102)))))))),fun(ty,fun(ty,bool))),widen(U_102)) = widen(U_102),
    inference(variable_rename,[status(thm)],[f_103_1]) ).

cnf(f_103_3,plain,
    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,U_102)))))))),fun(ty,fun(ty,bool))),widen(U_102)) = widen(U_102),
    inference(clausify,[status(thm)],[f_103_2]) ).

fof(f_104_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa1166768941_sconf) = typeSa1166768941_sconf,
    inference(fof_nnf,[status(thm)],[tsy_c_TypeSafe__Mirabelle__gbqmebzphd_Osconf_res]) ).

cnf(f_104_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),typeSa1166768941_sconf) = typeSa1166768941_sconf,
    inference(clausify,[status(thm)],[f_104_1]) ).

fof(f_105_1,plain,
    ti(list(char),object) = object,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_OObject_res]) ).

cnf(f_105_2,plain,
    ti(list(char),object) = object,
    inference(clausify,[status(thm)],[f_105_1]) ).

fof(f_106_1,plain,
    ti(fun(ty,bool),is_refT) = is_refT,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Ois__refT_res]) ).

cnf(f_106_2,plain,
    ti(fun(ty,bool),is_refT) = is_refT,
    inference(clausify,[status(thm)],[f_106_1]) ).

fof(f_107_1,plain,
    ti(list(char),this) = this,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Othis_res]) ).

cnf(f_107_2,plain,
    ti(list(char),this) = this,
    inference(clausify,[status(thm)],[f_107_1]) ).

fof(f_108_1,plain,
    ti(fun(list(char),ty),class) = class,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Oty_OClass_res]) ).

cnf(f_108_2,plain,
    ti(fun(list(char),ty),class) = class,
    inference(clausify,[status(thm)],[f_108_1]) ).

fof(f_109_1,plain,
    ti(ty,nt) = nt,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Oty_ONT_res]) ).

cnf(f_109_2,plain,
    ti(ty,nt) = nt,
    inference(clausify,[status(thm)],[f_109_1]) ).

fof(f_110_1,plain,
    ti(ty,void) = void,
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Oty_OVoid_res]) ).

cnf(f_110_2,plain,
    ti(ty,void) = void,
    inference(clausify,[status(thm)],[f_110_1]) ).

fof(f_111_1,plain,
    ! [X_a] : ti(fun(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))))),ty_case(X_a)) = ty_case(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_Type_Oty_Oty__case_res]) ).

fof(f_111_2,plain,
    ! [U_103] : ti(fun(U_103,fun(U_103,fun(U_103,fun(U_103,fun(fun(list(char),U_103),fun(ty,U_103)))))),ty_case(U_103)) = ty_case(U_103),
    inference(variable_rename,[status(thm)],[f_111_1]) ).

cnf(f_111_3,plain,
    ti(fun(U_103,fun(U_103,fun(U_103,fun(U_103,fun(fun(list(char),U_103),fun(ty,U_103)))))),ty_case(U_103)) = ty_case(U_103),
    inference(clausify,[status(thm)],[f_111_2]) ).

fof(f_112_1,plain,
    ti(fun(nat,val),addr) = addr,
    inference(fof_nnf,[status(thm)],[tsy_c_Value_Oval_OAddr_res]) ).

cnf(f_112_2,plain,
    ti(fun(nat,val),addr) = addr,
    inference(clausify,[status(thm)],[f_112_1]) ).

fof(f_113_1,plain,
    ti(fun(bool,val),bool_1) = bool_1,
    inference(fof_nnf,[status(thm)],[tsy_c_Value_Oval_OBool_res]) ).

cnf(f_113_2,plain,
    ti(fun(bool,val),bool_1) = bool_1,
    inference(clausify,[status(thm)],[f_113_1]) ).

fof(f_114_1,plain,
    ti(val,null) = null,
    inference(fof_nnf,[status(thm)],[tsy_c_Value_Oval_ONull_res]) ).

cnf(f_114_2,plain,
    ti(val,null) = null,
    inference(clausify,[status(thm)],[f_114_1]) ).

fof(f_115_1,plain,
    ti(val,unit) = unit,
    inference(fof_nnf,[status(thm)],[tsy_c_Value_Oval_OUnit_res]) ).

cnf(f_115_2,plain,
    ti(val,unit) = unit,
    inference(clausify,[status(thm)],[f_115_1]) ).

fof(f_116_1,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wwf_J_mdecl) = wwf_J_mdecl,
    inference(fof_nnf,[status(thm)],[tsy_c_WWellForm_Owwf__J__mdecl_res]) ).

cnf(f_116_2,plain,
    ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),wwf_J_mdecl) = wwf_J_mdecl,
    inference(clausify,[status(thm)],[f_116_1]) ).

fof(f_117_1,plain,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool))),wf_cdecl(X_a)) = wf_cdecl(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_WellForm_Owf__cdecl_res]) ).

fof(f_117_2,plain,
    ! [U_104] : ti(fun(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,U_104)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_104))),bool))),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,U_104)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_104))))))),bool))),wf_cdecl(U_104)) = wf_cdecl(U_104),
    inference(variable_rename,[status(thm)],[f_117_1]) ).

cnf(f_117_3,plain,
    ti(fun(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,U_104)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_104))),bool))),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,U_104)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_104))))))),bool))),wf_cdecl(U_104)) = wf_cdecl(U_104),
    inference(clausify,[status(thm)],[f_117_2]) ).

fof(f_118_1,plain,
    ! [X_a] : ti(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),ty),bool)),wf_fdecl(X_a)) = wf_fdecl(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_WellForm_Owf__fdecl_res]) ).

fof(f_118_2,plain,
    ! [U_105] : 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,U_105)))))))),fun(product_prod(list(char),ty),bool)),wf_fdecl(U_105)) = wf_fdecl(U_105),
    inference(variable_rename,[status(thm)],[f_118_1]) ).

cnf(f_118_3,plain,
    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,U_105)))))))),fun(product_prod(list(char),ty),bool)),wf_fdecl(U_105)) = wf_fdecl(U_105),
    inference(clausify,[status(thm)],[f_118_2]) ).

fof(f_119_1,plain,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool)))),wf_mdecl(X_a)) = wf_mdecl(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_WellForm_Owf__mdecl_res]) ).

fof(f_119_2,plain,
    ! [U_106] : ti(fun(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,U_106)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_106))),bool))),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,U_106)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_106))),bool)))),wf_mdecl(U_106)) = wf_mdecl(U_106),
    inference(variable_rename,[status(thm)],[f_119_1]) ).

cnf(f_119_3,plain,
    ti(fun(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,U_106)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_106))),bool))),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,U_106)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_106))),bool)))),wf_mdecl(U_106)) = wf_mdecl(U_106),
    inference(clausify,[status(thm)],[f_119_2]) ).

fof(f_120_1,plain,
    ! [X_a] : ti(fun(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool)),wf_prog(X_a)) = wf_prog(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_WellForm_Owf__prog_res]) ).

fof(f_120_2,plain,
    ! [U_107] : ti(fun(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,U_107)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_107))),bool))),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,U_107)))))))),bool)),wf_prog(U_107)) = wf_prog(U_107),
    inference(variable_rename,[status(thm)],[f_120_1]) ).

cnf(f_120_3,plain,
    ti(fun(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,U_107)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_107))),bool))),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,U_107)))))))),bool)),wf_prog(U_107)) = wf_prog(U_107),
    inference(clausify,[status(thm)],[f_120_2]) ).

fof(f_121_1,plain,
    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_1) = wTrt_1,
    inference(fof_nnf,[status(thm)],[tsy_c_WellTypeRT_OWTrt_res]) ).

cnf(f_121_2,plain,
    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_1) = wTrt_1,
    inference(clausify,[status(thm)],[f_121_1]) ).

fof(f_122_1,plain,
    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_1) = wTrts_1,
    inference(fof_nnf,[status(thm)],[tsy_c_WellTypeRT_OWTrts_res]) ).

cnf(f_122_2,plain,
    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_1) = wTrts_1,
    inference(clausify,[status(thm)],[f_122_1]) ).

fof(f_123_1,plain,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool))),lex_prod(X_a,X_b)) = lex_prod(X_a,X_b),
    inference(fof_nnf,[status(thm)],[tsy_c_Wellfounded_Olex__prod_res]) ).

fof(f_123_2,plain,
    ! [U_109,U_108] : ti(fun(fun(product_prod(U_109,U_109),bool),fun(fun(product_prod(U_108,U_108),bool),fun(product_prod(product_prod(U_109,U_108),product_prod(U_109,U_108)),bool))),lex_prod(U_109,U_108)) = lex_prod(U_109,U_108),
    inference(variable_rename,[status(thm)],[f_123_1]) ).

cnf(f_123_3,plain,
    ti(fun(fun(product_prod(U_109,U_109),bool),fun(fun(product_prod(U_108,U_108),bool),fun(product_prod(product_prod(U_109,U_108),product_prod(U_109,U_108)),bool))),lex_prod(U_109,U_108)) = lex_prod(U_109,U_108),
    inference(clausify,[status(thm)],[f_123_2]) ).

fof(f_124_1,plain,
    ti(bool,fFalse) = fFalse,
    inference(fof_nnf,[status(thm)],[tsy_c_fFalse_res]) ).

cnf(f_124_2,plain,
    ti(bool,fFalse) = fFalse,
    inference(clausify,[status(thm)],[f_124_1]) ).

fof(f_125_1,plain,
    ti(fun(bool,bool),fNot) = fNot,
    inference(fof_nnf,[status(thm)],[tsy_c_fNot_res]) ).

cnf(f_125_2,plain,
    ti(fun(bool,bool),fNot) = fNot,
    inference(clausify,[status(thm)],[f_125_1]) ).

fof(f_126_1,plain,
    ti(bool,fTrue) = fTrue,
    inference(fof_nnf,[status(thm)],[tsy_c_fTrue_res]) ).

cnf(f_126_2,plain,
    ti(bool,fTrue) = fTrue,
    inference(clausify,[status(thm)],[f_126_1]) ).

fof(f_127_1,plain,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    inference(fof_nnf,[status(thm)],[tsy_c_fconj_res]) ).

cnf(f_127_2,plain,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj,
    inference(clausify,[status(thm)],[f_127_1]) ).

fof(f_128_1,plain,
    ti(fun(bool,fun(bool,bool)),fdisj) = fdisj,
    inference(fof_nnf,[status(thm)],[tsy_c_fdisj_res]) ).

cnf(f_128_2,plain,
    ti(fun(bool,fun(bool,bool)),fdisj) = fdisj,
    inference(clausify,[status(thm)],[f_128_1]) ).

fof(f_129_1,plain,
    ! [X_a] : ti(fun(X_a,fun(X_a,bool)),fequal(X_a)) = fequal(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_fequal_res]) ).

fof(f_129_2,plain,
    ! [U_110] : ti(fun(U_110,fun(U_110,bool)),fequal(U_110)) = fequal(U_110),
    inference(variable_rename,[status(thm)],[f_129_1]) ).

cnf(f_129_3,plain,
    ti(fun(U_110,fun(U_110,bool)),fequal(U_110)) = fequal(U_110),
    inference(clausify,[status(thm)],[f_129_2]) ).

fof(f_130_1,plain,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,ti(fun(X_a,X_c),B_1_1),B_2_1) = hAPP(X_a,X_c,B_1_1,B_2_1),
    inference(fof_nnf,[status(thm)],[tsy_c_hAPP_arg1]) ).

fof(f_130_2,plain,
    ! [U_114,U_113,U_112,U_111] : hAPP(U_114,U_113,ti(fun(U_114,U_113),U_112),U_111) = hAPP(U_114,U_113,U_112,U_111),
    inference(variable_rename,[status(thm)],[f_130_1]) ).

cnf(f_130_3,plain,
    hAPP(U_114,U_113,ti(fun(U_114,U_113),U_112),U_111) = hAPP(U_114,U_113,U_112,U_111),
    inference(clausify,[status(thm)],[f_130_2]) ).

fof(f_131_1,plain,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,B_1_1,ti(X_a,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1),
    inference(fof_nnf,[status(thm)],[tsy_c_hAPP_arg2]) ).

fof(f_131_2,plain,
    ! [U_118,U_117,U_116,U_115] : hAPP(U_118,U_117,U_116,ti(U_118,U_115)) = hAPP(U_118,U_117,U_116,U_115),
    inference(variable_rename,[status(thm)],[f_131_1]) ).

cnf(f_131_3,plain,
    hAPP(U_118,U_117,U_116,ti(U_118,U_115)) = hAPP(U_118,U_117,U_116,U_115),
    inference(clausify,[status(thm)],[f_131_2]) ).

fof(f_132_1,plain,
    ! [X_c,X_a,B_1_1,B_2_1] : ti(X_c,hAPP(X_a,X_c,B_1_1,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1),
    inference(fof_nnf,[status(thm)],[tsy_c_hAPP_res]) ).

fof(f_132_2,plain,
    ! [U_122,U_121,U_120,U_119] : ti(U_122,hAPP(U_121,U_122,U_120,U_119)) = hAPP(U_121,U_122,U_120,U_119),
    inference(variable_rename,[status(thm)],[f_132_1]) ).

cnf(f_132_3,plain,
    ti(U_122,hAPP(U_121,U_122,U_120,U_119)) = hAPP(U_121,U_122,U_120,U_119),
    inference(clausify,[status(thm)],[f_132_2]) ).

fof(f_133_1,plain,
    ! [B_1_1] :
      ( ( hBOOL(ti(bool,B_1_1))
        | ~ hBOOL(B_1_1) )
      & ( hBOOL(B_1_1)
        | ~ hBOOL(ti(bool,B_1_1)) ) ),
    inference(fof_nnf,[status(thm)],[tsy_c_hBOOL_arg1]) ).

fof(f_133_2,plain,
    ! [U_123] :
      ( ( hBOOL(ti(bool,U_123))
        | ~ hBOOL(U_123) )
      & ( hBOOL(U_123)
        | ~ hBOOL(ti(bool,U_123)) ) ),
    inference(variable_rename,[status(thm)],[f_133_1]) ).

fof(f_133_3,plain,
    ( ! [U_125] :
        ( hBOOL(ti(bool,U_125))
        | ~ hBOOL(U_125) )
    & ! [U_124] :
        ( hBOOL(U_124)
        | ~ hBOOL(ti(bool,U_124)) ) ),
    inference(miniscope,[status(thm)],[f_133_2]) ).

cnf(f_133_4,plain,
    ( hBOOL(U_124)
    | ~ hBOOL(ti(bool,U_124)) ),
    inference(clausify,[status(thm)],[f_133_3]) ).

cnf(f_133_5,plain,
    ( hBOOL(ti(bool,U_125))
    | ~ hBOOL(U_125) ),
    inference(clausify,[status(thm)],[f_133_3]) ).

fof(f_134_1,plain,
    ! [X_a] : ti(fun(X_a,fun(fun(X_a,bool),bool)),member(X_a)) = member(X_a),
    inference(fof_nnf,[status(thm)],[tsy_c_member_res]) ).

fof(f_134_2,plain,
    ! [U_126] : ti(fun(U_126,fun(fun(U_126,bool),bool)),member(U_126)) = member(U_126),
    inference(variable_rename,[status(thm)],[f_134_1]) ).

cnf(f_134_3,plain,
    ti(fun(U_126,fun(fun(U_126,bool),bool)),member(U_126)) = member(U_126),
    inference(clausify,[status(thm)],[f_134_2]) ).

fof(f_135_1,plain,
    ti(fun(list(char),option(ty)),e) = e,
    inference(fof_nnf,[status(thm)],[tsy_v_E_____res]) ).

cnf(f_135_2,plain,
    ti(fun(list(char),option(ty)),e) = e,
    inference(clausify,[status(thm)],[f_135_1]) ).

fof(f_136_1,plain,
    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,
    inference(fof_nnf,[status(thm)],[tsy_v_P_res]) ).

cnf(f_136_2,plain,
    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,
    inference(clausify,[status(thm)],[f_136_1]) ).

fof(f_137_1,plain,
    ti(ty,t) = t,
    inference(fof_nnf,[status(thm)],[tsy_v_T_H_____res]) ).

cnf(f_137_2,plain,
    ti(ty,t) = t,
    inference(clausify,[status(thm)],[f_137_1]) ).

fof(f_138_1,plain,
    ti(ty,t_1) = t_1,
    inference(fof_nnf,[status(thm)],[tsy_v_T_____res]) ).

cnf(f_138_2,plain,
    ti(ty,t_1) = t_1,
    inference(clausify,[status(thm)],[f_138_1]) ).

fof(f_139_1,plain,
    ti(list(char),v_1) = v_1,
    inference(fof_nnf,[status(thm)],[tsy_v_V_____res]) ).

cnf(f_139_2,plain,
    ti(list(char),v_1) = v_1,
    inference(clausify,[status(thm)],[f_139_1]) ).

fof(f_140_1,plain,
    ti(exp(list(char)),e_a) = e_a,
    inference(fof_nnf,[status(thm)],[tsy_v_e_Ha_____res]) ).

cnf(f_140_2,plain,
    ti(exp(list(char)),e_a) = e_a,
    inference(clausify,[status(thm)],[f_140_1]) ).

fof(f_141_1,plain,
    ti(exp(list(char)),ea) = ea,
    inference(fof_nnf,[status(thm)],[tsy_v_ea_____res]) ).

cnf(f_141_2,plain,
    ti(exp(list(char)),ea) = ea,
    inference(clausify,[status(thm)],[f_141_1]) ).

fof(f_142_1,plain,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    inference(fof_nnf,[status(thm)],[tsy_v_h_Ha_____res]) ).

cnf(f_142_2,plain,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),h_a) = h_a,
    inference(clausify,[status(thm)],[f_142_1]) ).

fof(f_143_1,plain,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    inference(fof_nnf,[status(thm)],[tsy_v_ha_____res]) ).

cnf(f_143_2,plain,
    ti(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),ha) = ha,
    inference(clausify,[status(thm)],[f_143_1]) ).

fof(f_144_1,plain,
    ti(fun(list(char),option(val)),l_a) = l_a,
    inference(fof_nnf,[status(thm)],[tsy_v_l_Ha_____res]) ).

cnf(f_144_2,plain,
    ti(fun(list(char),option(val)),l_a) = l_a,
    inference(clausify,[status(thm)],[f_144_1]) ).

fof(f_145_1,plain,
    ti(fun(list(char),option(val)),la) = la,
    inference(fof_nnf,[status(thm)],[tsy_v_la_____res]) ).

cnf(f_145_2,plain,
    ti(fun(list(char),option(val)),la) = la,
    inference(clausify,[status(thm)],[f_145_1]) ).

fof(f_146_1,plain,
    ti(val,v_2) = v_2,
    inference(fof_nnf,[status(thm)],[tsy_v_v_H_____res]) ).

cnf(f_146_2,plain,
    ti(val,v_2) = v_2,
    inference(clausify,[status(thm)],[f_146_1]) ).

fof(f_147_1,plain,
    ti(val,v) = v,
    inference(fof_nnf,[status(thm)],[tsy_v_v_____res]) ).

cnf(f_147_2,plain,
    ti(val,v) = v,
    inference(clausify,[status(thm)],[f_147_1]) ).

fof(f_148_1,plain,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    inference(fof_nnf,[status(thm)],[fact_0_InitBlockRed_I3_J]) ).

cnf(f_148_2,plain,
    hAPP(list(char),option(val),l_a,v_1) = hAPP(val,option(val),some(val),v_2),
    inference(clausify,[status(thm)],[f_148_1]) ).

fof(f_149_1,plain,
    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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    inference(fof_nnf,[status(thm)],[fact_1_InitBlockRed_I1_J]) ).

cnf(f_149_2,plain,
    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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    inference(clausify,[status(thm)],[f_149_1]) ).

fof(f_150_1,plain,
    ! [X_b,X_a,F,X_1] : hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),hAPP(X_a,X_b,F,X_1)) = ti(fun(X_a,X_b),F),
    inference(fof_nnf,[status(thm)],[fact_2_fun__upd__triv]) ).

fof(f_150_2,plain,
    ! [U_130,U_129,U_128,U_127] : hAPP(U_130,fun(U_129,U_130),hAPP(U_129,fun(U_130,fun(U_129,U_130)),hAPP(fun(U_129,U_130),fun(U_129,fun(U_130,fun(U_129,U_130))),fun_upd(U_129,U_130),U_128),U_127),hAPP(U_129,U_130,U_128,U_127)) = ti(fun(U_129,U_130),U_128),
    inference(variable_rename,[status(thm)],[f_150_1]) ).

cnf(f_150_3,plain,
    hAPP(U_130,fun(U_129,U_130),hAPP(U_129,fun(U_130,fun(U_129,U_130)),hAPP(fun(U_129,U_130),fun(U_129,fun(U_130,fun(U_129,U_130))),fun_upd(U_129,U_130),U_128),U_127),hAPP(U_129,U_130,U_128,U_127)) = ti(fun(U_129,U_130),U_128),
    inference(clausify,[status(thm)],[f_150_2]) ).

fof(f_151_1,plain,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    inference(fof_nnf,[status(thm)],[fact_3_assms]) ).

cnf(f_151_2,plain,
    hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),p)),
    inference(clausify,[status(thm)],[f_151_1]) ).

fof(f_152_1,plain,
    ! [X_b,X_a,M_1,A_1,B,X_1,Y_1] :
      ( ( hAPP(X_b,option(X_a),hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),M_1),A_1),hAPP(X_a,option(X_a),some(X_a),B)),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_1)
        | ( ( hAPP(X_b,option(X_a),M_1,X_1) != hAPP(X_a,option(X_a),some(X_a),Y_1)
            | ti(X_b,X_1) = ti(X_b,A_1) )
          & ( ti(X_a,B) != ti(X_a,Y_1)
            | ti(X_b,X_1) != ti(X_b,A_1) ) ) )
      & ( ( hAPP(X_b,option(X_a),M_1,X_1) = hAPP(X_a,option(X_a),some(X_a),Y_1)
          & ti(X_b,X_1) != ti(X_b,A_1) )
        | ( ti(X_a,B) = ti(X_a,Y_1)
          & ti(X_b,X_1) = ti(X_b,A_1) )
        | hAPP(X_b,option(X_a),hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),M_1),A_1),hAPP(X_a,option(X_a),some(X_a),B)),X_1) != hAPP(X_a,option(X_a),some(X_a),Y_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_4_map__upd__Some__unfold]) ).

fof(f_152_2,plain,
    ! [U_137,U_136,U_135,U_134,U_133,U_132,U_131] :
      ( ( hAPP(U_137,option(U_136),hAPP(option(U_136),fun(U_137,option(U_136)),hAPP(U_137,fun(option(U_136),fun(U_137,option(U_136))),hAPP(fun(U_137,option(U_136)),fun(U_137,fun(option(U_136),fun(U_137,option(U_136)))),fun_upd(U_137,option(U_136)),U_135),U_134),hAPP(U_136,option(U_136),some(U_136),U_133)),U_132) = hAPP(U_136,option(U_136),some(U_136),U_131)
        | ( ( hAPP(U_137,option(U_136),U_135,U_132) != hAPP(U_136,option(U_136),some(U_136),U_131)
            | ti(U_137,U_132) = ti(U_137,U_134) )
          & ( ti(U_136,U_133) != ti(U_136,U_131)
            | ti(U_137,U_132) != ti(U_137,U_134) ) ) )
      & ( ( hAPP(U_137,option(U_136),U_135,U_132) = hAPP(U_136,option(U_136),some(U_136),U_131)
          & ti(U_137,U_132) != ti(U_137,U_134) )
        | ( ti(U_136,U_133) = ti(U_136,U_131)
          & ti(U_137,U_132) = ti(U_137,U_134) )
        | hAPP(U_137,option(U_136),hAPP(option(U_136),fun(U_137,option(U_136)),hAPP(U_137,fun(option(U_136),fun(U_137,option(U_136))),hAPP(fun(U_137,option(U_136)),fun(U_137,fun(option(U_136),fun(U_137,option(U_136)))),fun_upd(U_137,option(U_136)),U_135),U_134),hAPP(U_136,option(U_136),some(U_136),U_133)),U_132) != hAPP(U_136,option(U_136),some(U_136),U_131) ) ),
    inference(variable_rename,[status(thm)],[f_152_1]) ).

fof(f_152_3,plain,
    ( ! [U_151,U_149,U_147,U_145,U_143,U_141,U_139] :
        ( hAPP(U_151,option(U_149),hAPP(option(U_149),fun(U_151,option(U_149)),hAPP(U_151,fun(option(U_149),fun(U_151,option(U_149))),hAPP(fun(U_151,option(U_149)),fun(U_151,fun(option(U_149),fun(U_151,option(U_149)))),fun_upd(U_151,option(U_149)),U_147),U_145),hAPP(U_149,option(U_149),some(U_149),U_143)),U_141) = hAPP(U_149,option(U_149),some(U_149),U_139)
        | ( ( hAPP(U_151,option(U_149),U_147,U_141) != hAPP(U_149,option(U_149),some(U_149),U_139)
            | ti(U_151,U_141) = ti(U_151,U_145) )
          & ( ti(U_149,U_143) != ti(U_149,U_139)
            | ti(U_151,U_141) != ti(U_151,U_145) ) ) )
    & ! [U_150,U_148,U_146,U_144,U_142,U_140,U_138] :
        ( ( hAPP(U_150,option(U_148),U_146,U_140) = hAPP(U_148,option(U_148),some(U_148),U_138)
          & ti(U_150,U_140) != ti(U_150,U_144) )
        | ( ti(U_148,U_142) = ti(U_148,U_138)
          & ti(U_150,U_140) = ti(U_150,U_144) )
        | hAPP(U_150,option(U_148),hAPP(option(U_148),fun(U_150,option(U_148)),hAPP(U_150,fun(option(U_148),fun(U_150,option(U_148))),hAPP(fun(U_150,option(U_148)),fun(U_150,fun(option(U_148),fun(U_150,option(U_148)))),fun_upd(U_150,option(U_148)),U_146),U_144),hAPP(U_148,option(U_148),some(U_148),U_142)),U_140) != hAPP(U_148,option(U_148),some(U_148),U_138) ) ),
    inference(miniscope,[status(thm)],[f_152_2]) ).

cnf(f_152_4,plain,
    ( ti(U_150,U_140) != ti(U_150,U_144)
    | ti(U_150,U_140) = ti(U_150,U_144)
    | hAPP(U_150,option(U_148),hAPP(option(U_148),fun(U_150,option(U_148)),hAPP(U_150,fun(option(U_148),fun(U_150,option(U_148))),hAPP(fun(U_150,option(U_148)),fun(U_150,fun(option(U_148),fun(U_150,option(U_148)))),fun_upd(U_150,option(U_148)),U_146),U_144),hAPP(U_148,option(U_148),some(U_148),U_142)),U_140) != hAPP(U_148,option(U_148),some(U_148),U_138) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

cnf(f_152_5,plain,
    ( hAPP(U_150,option(U_148),U_146,U_140) = hAPP(U_148,option(U_148),some(U_148),U_138)
    | ti(U_150,U_140) = ti(U_150,U_144)
    | hAPP(U_150,option(U_148),hAPP(option(U_148),fun(U_150,option(U_148)),hAPP(U_150,fun(option(U_148),fun(U_150,option(U_148))),hAPP(fun(U_150,option(U_148)),fun(U_150,fun(option(U_148),fun(U_150,option(U_148)))),fun_upd(U_150,option(U_148)),U_146),U_144),hAPP(U_148,option(U_148),some(U_148),U_142)),U_140) != hAPP(U_148,option(U_148),some(U_148),U_138) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

cnf(f_152_6,plain,
    ( ti(U_150,U_140) != ti(U_150,U_144)
    | ti(U_148,U_142) = ti(U_148,U_138)
    | hAPP(U_150,option(U_148),hAPP(option(U_148),fun(U_150,option(U_148)),hAPP(U_150,fun(option(U_148),fun(U_150,option(U_148))),hAPP(fun(U_150,option(U_148)),fun(U_150,fun(option(U_148),fun(U_150,option(U_148)))),fun_upd(U_150,option(U_148)),U_146),U_144),hAPP(U_148,option(U_148),some(U_148),U_142)),U_140) != hAPP(U_148,option(U_148),some(U_148),U_138) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

cnf(f_152_7,plain,
    ( hAPP(U_150,option(U_148),U_146,U_140) = hAPP(U_148,option(U_148),some(U_148),U_138)
    | ti(U_148,U_142) = ti(U_148,U_138)
    | hAPP(U_150,option(U_148),hAPP(option(U_148),fun(U_150,option(U_148)),hAPP(U_150,fun(option(U_148),fun(U_150,option(U_148))),hAPP(fun(U_150,option(U_148)),fun(U_150,fun(option(U_148),fun(U_150,option(U_148)))),fun_upd(U_150,option(U_148)),U_146),U_144),hAPP(U_148,option(U_148),some(U_148),U_142)),U_140) != hAPP(U_148,option(U_148),some(U_148),U_138) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

cnf(f_152_8,plain,
    ( ti(U_149,U_143) != ti(U_149,U_139)
    | ti(U_151,U_141) != ti(U_151,U_145)
    | hAPP(U_151,option(U_149),hAPP(option(U_149),fun(U_151,option(U_149)),hAPP(U_151,fun(option(U_149),fun(U_151,option(U_149))),hAPP(fun(U_151,option(U_149)),fun(U_151,fun(option(U_149),fun(U_151,option(U_149)))),fun_upd(U_151,option(U_149)),U_147),U_145),hAPP(U_149,option(U_149),some(U_149),U_143)),U_141) = hAPP(U_149,option(U_149),some(U_149),U_139) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

cnf(f_152_9,plain,
    ( hAPP(U_151,option(U_149),U_147,U_141) != hAPP(U_149,option(U_149),some(U_149),U_139)
    | ti(U_151,U_141) = ti(U_151,U_145)
    | hAPP(U_151,option(U_149),hAPP(option(U_149),fun(U_151,option(U_149)),hAPP(U_151,fun(option(U_149),fun(U_151,option(U_149))),hAPP(fun(U_151,option(U_149)),fun(U_151,fun(option(U_149),fun(U_151,option(U_149)))),fun_upd(U_151,option(U_149)),U_147),U_145),hAPP(U_149,option(U_149),some(U_149),U_143)),U_141) = hAPP(U_149,option(U_149),some(U_149),U_139) ),
    inference(clausify,[status(thm)],[f_152_3]) ).

fof(f_153_1,plain,
    ! [X_b,X_a,T_7,K,X_1] :
      ( hAPP(option(X_a),fun(X_b,option(X_a)),hAPP(X_b,fun(option(X_a),fun(X_b,option(X_a))),hAPP(fun(X_b,option(X_a)),fun(X_b,fun(option(X_a),fun(X_b,option(X_a)))),fun_upd(X_b,option(X_a)),T_7),K),hAPP(X_a,option(X_a),some(X_a),X_1)) = ti(fun(X_b,option(X_a)),T_7)
      | hAPP(X_b,option(X_a),T_7,K) != hAPP(X_a,option(X_a),some(X_a),X_1) ),
    inference(fof_nnf,[status(thm)],[fact_5_map__upd__triv]) ).

fof(f_153_2,plain,
    ! [U_156,U_155,U_154,U_153,U_152] :
      ( hAPP(option(U_155),fun(U_156,option(U_155)),hAPP(U_156,fun(option(U_155),fun(U_156,option(U_155))),hAPP(fun(U_156,option(U_155)),fun(U_156,fun(option(U_155),fun(U_156,option(U_155)))),fun_upd(U_156,option(U_155)),U_154),U_153),hAPP(U_155,option(U_155),some(U_155),U_152)) = ti(fun(U_156,option(U_155)),U_154)
      | hAPP(U_156,option(U_155),U_154,U_153) != hAPP(U_155,option(U_155),some(U_155),U_152) ),
    inference(variable_rename,[status(thm)],[f_153_1]) ).

cnf(f_153_3,plain,
    ( hAPP(option(U_155),fun(U_156,option(U_155)),hAPP(U_156,fun(option(U_155),fun(U_156,option(U_155))),hAPP(fun(U_156,option(U_155)),fun(U_156,fun(option(U_155),fun(U_156,option(U_155)))),fun_upd(U_156,option(U_155)),U_154),U_153),hAPP(U_155,option(U_155),some(U_155),U_152)) = ti(fun(U_156,option(U_155)),U_154)
    | hAPP(U_156,option(U_155),U_154,U_153) != hAPP(U_155,option(U_155),some(U_155),U_152) ),
    inference(clausify,[status(thm)],[f_153_2]) ).

fof(f_154_1,plain,
    ! [X_b,X_a,M_1,A_1,X_1,N,Y_1] :
      ( ti(X_b,X_1) = ti(X_b,Y_1)
      | hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),X_1)) != hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),N),A_1),hAPP(X_b,option(X_b),some(X_b),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_6_map__upd__eqD1]) ).

fof(f_154_2,plain,
    ! [U_163,U_162,U_161,U_160,U_159,U_158,U_157] :
      ( ti(U_163,U_159) = ti(U_163,U_157)
      | hAPP(option(U_163),fun(U_162,option(U_163)),hAPP(U_162,fun(option(U_163),fun(U_162,option(U_163))),hAPP(fun(U_162,option(U_163)),fun(U_162,fun(option(U_163),fun(U_162,option(U_163)))),fun_upd(U_162,option(U_163)),U_161),U_160),hAPP(U_163,option(U_163),some(U_163),U_159)) != hAPP(option(U_163),fun(U_162,option(U_163)),hAPP(U_162,fun(option(U_163),fun(U_162,option(U_163))),hAPP(fun(U_162,option(U_163)),fun(U_162,fun(option(U_163),fun(U_162,option(U_163)))),fun_upd(U_162,option(U_163)),U_158),U_160),hAPP(U_163,option(U_163),some(U_163),U_157)) ),
    inference(variable_rename,[status(thm)],[f_154_1]) ).

cnf(f_154_3,plain,
    ( ti(U_163,U_159) = ti(U_163,U_157)
    | hAPP(option(U_163),fun(U_162,option(U_163)),hAPP(U_162,fun(option(U_163),fun(U_162,option(U_163))),hAPP(fun(U_162,option(U_163)),fun(U_162,fun(option(U_163),fun(U_162,option(U_163)))),fun_upd(U_162,option(U_163)),U_161),U_160),hAPP(U_163,option(U_163),some(U_163),U_159)) != hAPP(option(U_163),fun(U_162,option(U_163)),hAPP(U_162,fun(option(U_163),fun(U_162,option(U_163))),hAPP(fun(U_162,option(U_163)),fun(U_162,fun(option(U_163),fun(U_162,option(U_163)))),fun_upd(U_162,option(U_163)),U_158),U_160),hAPP(U_163,option(U_163),some(U_163),U_157)) ),
    inference(clausify,[status(thm)],[f_154_2]) ).

fof(f_155_1,plain,
    ! [Ta,Ea] :
      ( ? [T_9] :
          ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),T_9),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_1,p),h_a),Ea),e_a),T_9)) )
      | ~ 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_1,p),ha),Ea),ea),Ta))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ),
    inference(fof_nnf,[status(thm)],[fact_7_InitBlockRed_I2_J]) ).

fof(f_155_2,plain,
    ! [U_166,U_165] :
      ( ? [U_164] :
          ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),U_164),U_166))
          & 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_1,p),h_a),U_165),e_a),U_164)) )
      | ~ 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_1,p),ha),U_165),ea),U_166))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),U_165),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ),
    inference(variable_rename,[status(thm)],[f_155_1]) ).

fof(f_155_3,plain,
    ! [U_166,U_165] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),sK1(U_166,U_165)),U_166))
        & 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_1,p),h_a),U_165),e_a),sK1(U_166,U_165))) )
      | ~ 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_1,p),ha),U_165),ea),U_166))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),U_165),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK1]),skolemize(U_164,sK1(U_166,U_165))],[f_155_2]) ).

cnf(f_155_4,plain,
    ( 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_1,p),h_a),U_165),e_a),sK1(U_166,U_165)))
    | ~ 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_1,p),ha),U_165),ea),U_166))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),U_165),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ),
    inference(clausify,[status(thm)],[f_155_3]) ).

cnf(f_155_5,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),p),sK1(U_166,U_165)),U_166))
    | ~ 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_1,p),ha),U_165),ea),U_166))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),U_165),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),ha),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))) ),
    inference(clausify,[status(thm)],[f_155_3]) ).

fof(f_156_1,plain,
    ! [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))
      | ? [A_3,B_3,C_7,D_7,E_4,F_3] : ~ 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_3),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_3),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_7),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_7),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_3))))))) ),
    inference(fof_nnf,[status(thm)],[fact_8_prod__induct6]) ).

fof(f_156_2,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_172,U_171,U_170,U_169,U_168,U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),U_172),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),U_171),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),U_170),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),U_169),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),U_168),U_167))))))) ),
    inference(variable_rename,[status(thm)],[f_156_1]) ).

fof(f_156_3,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_171,U_170,U_169,U_168,U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),U_171),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),U_170),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),U_169),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),U_168),U_167))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK2]),skolemize(U_172,sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_2]) ).

fof(f_156_4,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_170,U_169,U_168,U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),U_170),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),U_169),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),U_168),U_167))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK3]),skolemize(U_171,sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_3]) ).

fof(f_156_5,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_169,U_168,U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),U_169),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),U_168),U_167))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK4]),skolemize(U_170,sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_4]) ).

fof(f_156_6,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_168,U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),sK5(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),U_168),U_167))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK5]),skolemize(U_169,sK5(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_5]) ).

fof(f_156_7,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ? [U_167] : ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),sK5(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),sK6(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),U_167))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK6]),skolemize(U_168,sK6(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_6]) ).

fof(f_156_8,plain,
    ! [U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173] :
      ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
      | ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),sK5(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),sK6(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),sK7(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK7]),skolemize(U_167,sK7(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173))],[f_156_7]) ).

cnf(f_156_9,plain,
    ( hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,U_174))
    | ~ hBOOL(hAPP(product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),bool,U_173,hAPP(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),hAPP(U_180,fun(product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_prod(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))))),product_Pair(U_180,product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),sK2(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),hAPP(U_179,fun(product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),product_prod(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))))),product_Pair(U_179,product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),sK3(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175))),hAPP(U_178,fun(product_prod(U_177,product_prod(U_176,U_175)),product_prod(U_178,product_prod(U_177,product_prod(U_176,U_175)))),product_Pair(U_178,product_prod(U_177,product_prod(U_176,U_175))),sK4(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175)),hAPP(U_177,fun(product_prod(U_176,U_175),product_prod(U_177,product_prod(U_176,U_175))),product_Pair(U_177,product_prod(U_176,U_175)),sK5(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),hAPP(U_175,product_prod(U_176,U_175),hAPP(U_176,fun(U_175,product_prod(U_176,U_175)),product_Pair(U_176,U_175),sK6(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)),sK7(U_180,U_179,U_178,U_177,U_176,U_175,U_174,U_173)))))))) ),
    inference(clausify,[status(thm)],[f_156_8]) ).

fof(f_157_1,plain,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,Y] :
    ? [A_3,B_3,C_7,D_7,E_4,F_3] : 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_3),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_3),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_7),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_7),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E_4),F_3))))),
    inference(fof_nnf,[status(thm)],[fact_9_prod__cases6]) ).

fof(f_157_2,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_186,U_185,U_184,U_183,U_182,U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_186),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),U_185),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),U_184),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),U_183),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),U_182),U_181))))),
    inference(variable_rename,[status(thm)],[f_157_1]) ).

fof(f_157_3,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_185,U_184,U_183,U_182,U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),U_185),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),U_184),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),U_183),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),U_182),U_181))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK8]),skolemize(U_186,sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_2]) ).

fof(f_157_4,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_184,U_183,U_182,U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),U_184),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),U_183),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),U_182),U_181))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK9]),skolemize(U_185,sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_3]) ).

fof(f_157_5,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_183,U_182,U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),U_183),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),U_182),U_181))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK10]),skolemize(U_184,sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_4]) ).

fof(f_157_6,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_182,U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),sK11(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),U_182),U_181))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK11]),skolemize(U_183,sK11(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_5]) ).

fof(f_157_7,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] :
    ? [U_181] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),sK11(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),sK12(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),U_181))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK12]),skolemize(U_182,sK12(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_6]) ).

fof(f_157_8,plain,
    ! [U_193,U_192,U_191,U_190,U_189,U_188,U_187] : ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),sK11(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),sK12(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),sK13(U_193,U_192,U_191,U_190,U_189,U_188,U_187)))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK13]),skolemize(U_181,sK13(U_193,U_192,U_191,U_190,U_189,U_188,U_187))],[f_157_7]) ).

cnf(f_157_9,plain,
    ti(product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),U_187) = hAPP(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),hAPP(U_193,fun(product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_prod(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))))),product_Pair(U_193,product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),sK8(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),hAPP(U_192,fun(product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),product_prod(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))))),product_Pair(U_192,product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),sK9(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188))),hAPP(U_191,fun(product_prod(U_190,product_prod(U_189,U_188)),product_prod(U_191,product_prod(U_190,product_prod(U_189,U_188)))),product_Pair(U_191,product_prod(U_190,product_prod(U_189,U_188))),sK10(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188)),hAPP(U_190,fun(product_prod(U_189,U_188),product_prod(U_190,product_prod(U_189,U_188))),product_Pair(U_190,product_prod(U_189,U_188)),sK11(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),hAPP(U_188,product_prod(U_189,U_188),hAPP(U_189,fun(U_188,product_prod(U_189,U_188)),product_Pair(U_189,U_188),sK12(U_193,U_192,U_191,U_190,U_189,U_188,U_187)),sK13(U_193,U_192,U_191,U_190,U_189,U_188,U_187)))))),
    inference(clausify,[status(thm)],[f_157_8]) ).

fof(f_158_1,plain,
    ! [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))
      | ? [A_3,B_3,C_7,D_7,E_4] : ~ hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_3),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_3),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_7),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_7),E_4)))))) ),
    inference(fof_nnf,[status(thm)],[fact_10_prod__induct5]) ).

fof(f_158_2,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ? [U_198,U_197,U_196,U_195,U_194] : ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),U_198),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),U_197),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),U_196),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),U_195),U_194)))))) ),
    inference(variable_rename,[status(thm)],[f_158_1]) ).

fof(f_158_3,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ? [U_197,U_196,U_195,U_194] : ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),U_197),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),U_196),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),U_195),U_194)))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK14]),skolemize(U_198,sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199))],[f_158_2]) ).

fof(f_158_4,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ? [U_196,U_195,U_194] : ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),U_196),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),U_195),U_194)))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK15]),skolemize(U_197,sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199))],[f_158_3]) ).

fof(f_158_5,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ? [U_195,U_194] : ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),sK16(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),U_195),U_194)))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK16]),skolemize(U_196,sK16(U_205,U_204,U_203,U_202,U_201,U_200,U_199))],[f_158_4]) ).

fof(f_158_6,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ? [U_194] : ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),sK16(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),sK17(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),U_194)))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK17]),skolemize(U_195,sK17(U_205,U_204,U_203,U_202,U_201,U_200,U_199))],[f_158_5]) ).

fof(f_158_7,plain,
    ! [U_205,U_204,U_203,U_202,U_201,U_200,U_199] :
      ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
      | ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),sK16(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),sK17(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),sK18(U_205,U_204,U_203,U_202,U_201,U_200,U_199))))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK18]),skolemize(U_194,sK18(U_205,U_204,U_203,U_202,U_201,U_200,U_199))],[f_158_6]) ).

cnf(f_158_8,plain,
    ( hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,U_200))
    | ~ hBOOL(hAPP(product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),bool,U_199,hAPP(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),hAPP(U_205,fun(product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),product_prod(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))))),product_Pair(U_205,product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),sK14(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201))),hAPP(U_204,fun(product_prod(U_203,product_prod(U_202,U_201)),product_prod(U_204,product_prod(U_203,product_prod(U_202,U_201)))),product_Pair(U_204,product_prod(U_203,product_prod(U_202,U_201))),sK15(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201)),hAPP(U_203,fun(product_prod(U_202,U_201),product_prod(U_203,product_prod(U_202,U_201))),product_Pair(U_203,product_prod(U_202,U_201)),sK16(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),hAPP(U_201,product_prod(U_202,U_201),hAPP(U_202,fun(U_201,product_prod(U_202,U_201)),product_Pair(U_202,U_201),sK17(U_205,U_204,U_203,U_202,U_201,U_200,U_199)),sK18(U_205,U_204,U_203,U_202,U_201,U_200,U_199))))))) ),
    inference(clausify,[status(thm)],[f_158_7]) ).

fof(f_159_1,plain,
    ! [X_a,X_b,X_c,X_d,X_e,Y] :
    ? [A_3,B_3,C_7,D_7,E_4] : ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),Y) = hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_3),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_3),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_7),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_7),E_4)))),
    inference(fof_nnf,[status(thm)],[fact_11_prod__cases5]) ).

fof(f_159_2,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] :
    ? [U_210,U_209,U_208,U_207,U_206] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_210),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),U_209),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),U_208),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),U_207),U_206)))),
    inference(variable_rename,[status(thm)],[f_159_1]) ).

fof(f_159_3,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] :
    ? [U_209,U_208,U_207,U_206] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),U_209),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),U_208),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),U_207),U_206)))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK19]),skolemize(U_210,sK19(U_216,U_215,U_214,U_213,U_212,U_211))],[f_159_2]) ).

fof(f_159_4,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] :
    ? [U_208,U_207,U_206] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),sK20(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),U_208),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),U_207),U_206)))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK20]),skolemize(U_209,sK20(U_216,U_215,U_214,U_213,U_212,U_211))],[f_159_3]) ).

fof(f_159_5,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] :
    ? [U_207,U_206] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),sK20(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),sK21(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),U_207),U_206)))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK21]),skolemize(U_208,sK21(U_216,U_215,U_214,U_213,U_212,U_211))],[f_159_4]) ).

fof(f_159_6,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] :
    ? [U_206] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),sK20(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),sK21(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),sK22(U_216,U_215,U_214,U_213,U_212,U_211)),U_206)))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK22]),skolemize(U_207,sK22(U_216,U_215,U_214,U_213,U_212,U_211))],[f_159_5]) ).

fof(f_159_7,plain,
    ! [U_216,U_215,U_214,U_213,U_212,U_211] : ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),sK20(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),sK21(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),sK22(U_216,U_215,U_214,U_213,U_212,U_211)),sK23(U_216,U_215,U_214,U_213,U_212,U_211))))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK23]),skolemize(U_206,sK23(U_216,U_215,U_214,U_213,U_212,U_211))],[f_159_6]) ).

cnf(f_159_8,plain,
    ti(product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),U_211) = hAPP(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),hAPP(U_216,fun(product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),product_prod(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))))),product_Pair(U_216,product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),sK19(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212))),hAPP(U_215,fun(product_prod(U_214,product_prod(U_213,U_212)),product_prod(U_215,product_prod(U_214,product_prod(U_213,U_212)))),product_Pair(U_215,product_prod(U_214,product_prod(U_213,U_212))),sK20(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212)),hAPP(U_214,fun(product_prod(U_213,U_212),product_prod(U_214,product_prod(U_213,U_212))),product_Pair(U_214,product_prod(U_213,U_212)),sK21(U_216,U_215,U_214,U_213,U_212,U_211)),hAPP(U_212,product_prod(U_213,U_212),hAPP(U_213,fun(U_212,product_prod(U_213,U_212)),product_Pair(U_213,U_212),sK22(U_216,U_215,U_214,U_213,U_212,U_211)),sK23(U_216,U_215,U_214,U_213,U_212,U_211))))),
    inference(clausify,[status(thm)],[f_159_7]) ).

fof(f_160_1,plain,
    ! [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))
      | ? [A_3,B_3,C_7,D_7] : ~ 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_3),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_3),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_7),D_7))))) ),
    inference(fof_nnf,[status(thm)],[fact_12_prod__induct4]) ).

fof(f_160_2,plain,
    ! [U_226,U_225,U_224,U_223,U_222,U_221] :
      ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
      | ? [U_220,U_219,U_218,U_217] : ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),U_220),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),U_219),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),U_218),U_217))))) ),
    inference(variable_rename,[status(thm)],[f_160_1]) ).

fof(f_160_3,plain,
    ! [U_226,U_225,U_224,U_223,U_222,U_221] :
      ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
      | ? [U_219,U_218,U_217] : ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),sK24(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),U_219),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),U_218),U_217))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK24]),skolemize(U_220,sK24(U_226,U_225,U_224,U_223,U_222,U_221))],[f_160_2]) ).

fof(f_160_4,plain,
    ! [U_226,U_225,U_224,U_223,U_222,U_221] :
      ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
      | ? [U_218,U_217] : ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),sK24(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),sK25(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),U_218),U_217))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK25]),skolemize(U_219,sK25(U_226,U_225,U_224,U_223,U_222,U_221))],[f_160_3]) ).

fof(f_160_5,plain,
    ! [U_226,U_225,U_224,U_223,U_222,U_221] :
      ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
      | ? [U_217] : ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),sK24(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),sK25(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),sK26(U_226,U_225,U_224,U_223,U_222,U_221)),U_217))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK26]),skolemize(U_218,sK26(U_226,U_225,U_224,U_223,U_222,U_221))],[f_160_4]) ).

fof(f_160_6,plain,
    ! [U_226,U_225,U_224,U_223,U_222,U_221] :
      ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
      | ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),sK24(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),sK25(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),sK26(U_226,U_225,U_224,U_223,U_222,U_221)),sK27(U_226,U_225,U_224,U_223,U_222,U_221)))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK27]),skolemize(U_217,sK27(U_226,U_225,U_224,U_223,U_222,U_221))],[f_160_5]) ).

cnf(f_160_7,plain,
    ( hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,U_222))
    | ~ hBOOL(hAPP(product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),bool,U_221,hAPP(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223))),hAPP(U_226,fun(product_prod(U_225,product_prod(U_224,U_223)),product_prod(U_226,product_prod(U_225,product_prod(U_224,U_223)))),product_Pair(U_226,product_prod(U_225,product_prod(U_224,U_223))),sK24(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223)),hAPP(U_225,fun(product_prod(U_224,U_223),product_prod(U_225,product_prod(U_224,U_223))),product_Pair(U_225,product_prod(U_224,U_223)),sK25(U_226,U_225,U_224,U_223,U_222,U_221)),hAPP(U_223,product_prod(U_224,U_223),hAPP(U_224,fun(U_223,product_prod(U_224,U_223)),product_Pair(U_224,U_223),sK26(U_226,U_225,U_224,U_223,U_222,U_221)),sK27(U_226,U_225,U_224,U_223,U_222,U_221)))))) ),
    inference(clausify,[status(thm)],[f_160_6]) ).

fof(f_161_1,plain,
    ! [X_a,X_b,X_c,X_d,Y] :
    ? [A_3,B_3,C_7,D_7] : 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_3),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_3),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_7),D_7))),
    inference(fof_nnf,[status(thm)],[fact_13_prod__cases4]) ).

fof(f_161_2,plain,
    ! [U_235,U_234,U_233,U_232,U_231] :
    ? [U_230,U_229,U_228,U_227] : ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_230),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),U_229),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),U_228),U_227))),
    inference(variable_rename,[status(thm)],[f_161_1]) ).

fof(f_161_3,plain,
    ! [U_235,U_234,U_233,U_232,U_231] :
    ? [U_229,U_228,U_227] : ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),sK28(U_235,U_234,U_233,U_232,U_231)),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),U_229),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),U_228),U_227))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK28]),skolemize(U_230,sK28(U_235,U_234,U_233,U_232,U_231))],[f_161_2]) ).

fof(f_161_4,plain,
    ! [U_235,U_234,U_233,U_232,U_231] :
    ? [U_228,U_227] : ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),sK28(U_235,U_234,U_233,U_232,U_231)),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),sK29(U_235,U_234,U_233,U_232,U_231)),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),U_228),U_227))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK29]),skolemize(U_229,sK29(U_235,U_234,U_233,U_232,U_231))],[f_161_3]) ).

fof(f_161_5,plain,
    ! [U_235,U_234,U_233,U_232,U_231] :
    ? [U_227] : ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),sK28(U_235,U_234,U_233,U_232,U_231)),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),sK29(U_235,U_234,U_233,U_232,U_231)),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),sK30(U_235,U_234,U_233,U_232,U_231)),U_227))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK30]),skolemize(U_228,sK30(U_235,U_234,U_233,U_232,U_231))],[f_161_4]) ).

fof(f_161_6,plain,
    ! [U_235,U_234,U_233,U_232,U_231] : ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),sK28(U_235,U_234,U_233,U_232,U_231)),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),sK29(U_235,U_234,U_233,U_232,U_231)),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),sK30(U_235,U_234,U_233,U_232,U_231)),sK31(U_235,U_234,U_233,U_232,U_231)))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK31]),skolemize(U_227,sK31(U_235,U_234,U_233,U_232,U_231))],[f_161_5]) ).

cnf(f_161_7,plain,
    ti(product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),U_231) = hAPP(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232))),hAPP(U_235,fun(product_prod(U_234,product_prod(U_233,U_232)),product_prod(U_235,product_prod(U_234,product_prod(U_233,U_232)))),product_Pair(U_235,product_prod(U_234,product_prod(U_233,U_232))),sK28(U_235,U_234,U_233,U_232,U_231)),hAPP(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232)),hAPP(U_234,fun(product_prod(U_233,U_232),product_prod(U_234,product_prod(U_233,U_232))),product_Pair(U_234,product_prod(U_233,U_232)),sK29(U_235,U_234,U_233,U_232,U_231)),hAPP(U_232,product_prod(U_233,U_232),hAPP(U_233,fun(U_232,product_prod(U_233,U_232)),product_Pair(U_233,U_232),sK30(U_235,U_234,U_233,U_232,U_231)),sK31(U_235,U_234,U_233,U_232,U_231)))),
    inference(clausify,[status(thm)],[f_161_6]) ).

fof(f_162_1,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),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))),ha),la))),
    inference(fof_nnf,[status(thm)],[fact_14_InitBlockRed_I4_J]) ).

cnf(f_162_2,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,p),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))),ha),la))),
    inference(clausify,[status(thm)],[f_162_1]) ).

fof(f_163_1,plain,
    ! [X_b,X_a,A_5,B_2,A_6,B_5] :
      ( ( ti(X_b,B_2) = ti(X_b,B_5)
        & ti(X_a,A_5) = ti(X_a,A_6) )
      | 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_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_6),B_5) ),
    inference(fof_nnf,[status(thm)],[fact_15_Pair__inject]) ).

fof(f_163_2,plain,
    ! [U_241,U_240,U_239,U_238,U_237,U_236] :
      ( ( ti(U_241,U_238) = ti(U_241,U_236)
        & ti(U_240,U_239) = ti(U_240,U_237) )
      | hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_239),U_238) != hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_237),U_236) ),
    inference(variable_rename,[status(thm)],[f_163_1]) ).

cnf(f_163_3,plain,
    ( ti(U_240,U_239) = ti(U_240,U_237)
    | hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_239),U_238) != hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_237),U_236) ),
    inference(clausify,[status(thm)],[f_163_2]) ).

cnf(f_163_4,plain,
    ( ti(U_241,U_238) = ti(U_241,U_236)
    | hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_239),U_238) != hAPP(U_241,product_prod(U_240,U_241),hAPP(U_240,fun(U_241,product_prod(U_240,U_241)),product_Pair(U_240,U_241),U_237),U_236) ),
    inference(clausify,[status(thm)],[f_163_2]) ).

fof(f_164_1,plain,
    ! [X_b,X_a,A_1,B,A_4,B_4] :
      ( ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4)
        | ti(X_b,B) != ti(X_b,B_4)
        | ti(X_a,A_1) != ti(X_a,A_4) )
      & ( ( ti(X_b,B) = ti(X_b,B_4)
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B) != hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4) ) ),
    inference(fof_nnf,[status(thm)],[fact_16_Pair__eq]) ).

fof(f_164_2,plain,
    ! [U_247,U_246,U_245,U_244,U_243,U_242] :
      ( ( hAPP(U_247,product_prod(U_246,U_247),hAPP(U_246,fun(U_247,product_prod(U_246,U_247)),product_Pair(U_246,U_247),U_245),U_244) = hAPP(U_247,product_prod(U_246,U_247),hAPP(U_246,fun(U_247,product_prod(U_246,U_247)),product_Pair(U_246,U_247),U_243),U_242)
        | ti(U_247,U_244) != ti(U_247,U_242)
        | ti(U_246,U_245) != ti(U_246,U_243) )
      & ( ( ti(U_247,U_244) = ti(U_247,U_242)
          & ti(U_246,U_245) = ti(U_246,U_243) )
        | hAPP(U_247,product_prod(U_246,U_247),hAPP(U_246,fun(U_247,product_prod(U_246,U_247)),product_Pair(U_246,U_247),U_245),U_244) != hAPP(U_247,product_prod(U_246,U_247),hAPP(U_246,fun(U_247,product_prod(U_246,U_247)),product_Pair(U_246,U_247),U_243),U_242) ) ),
    inference(variable_rename,[status(thm)],[f_164_1]) ).

fof(f_164_3,plain,
    ( ! [U_259,U_257,U_255,U_253,U_251,U_249] :
        ( hAPP(U_259,product_prod(U_257,U_259),hAPP(U_257,fun(U_259,product_prod(U_257,U_259)),product_Pair(U_257,U_259),U_255),U_253) = hAPP(U_259,product_prod(U_257,U_259),hAPP(U_257,fun(U_259,product_prod(U_257,U_259)),product_Pair(U_257,U_259),U_251),U_249)
        | ti(U_259,U_253) != ti(U_259,U_249)
        | ti(U_257,U_255) != ti(U_257,U_251) )
    & ! [U_258,U_256,U_254,U_252,U_250,U_248] :
        ( ( ti(U_258,U_252) = ti(U_258,U_248)
          & ti(U_256,U_254) = ti(U_256,U_250) )
        | hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_254),U_252) != hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_250),U_248) ) ),
    inference(miniscope,[status(thm)],[f_164_2]) ).

cnf(f_164_4,plain,
    ( ti(U_256,U_254) = ti(U_256,U_250)
    | hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_254),U_252) != hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_250),U_248) ),
    inference(clausify,[status(thm)],[f_164_3]) ).

cnf(f_164_5,plain,
    ( ti(U_258,U_252) = ti(U_258,U_248)
    | hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_254),U_252) != hAPP(U_258,product_prod(U_256,U_258),hAPP(U_256,fun(U_258,product_prod(U_256,U_258)),product_Pair(U_256,U_258),U_250),U_248) ),
    inference(clausify,[status(thm)],[f_164_3]) ).

cnf(f_164_6,plain,
    ( hAPP(U_259,product_prod(U_257,U_259),hAPP(U_257,fun(U_259,product_prod(U_257,U_259)),product_Pair(U_257,U_259),U_255),U_253) = hAPP(U_259,product_prod(U_257,U_259),hAPP(U_257,fun(U_259,product_prod(U_257,U_259)),product_Pair(U_257,U_259),U_251),U_249)
    | ti(U_259,U_253) != ti(U_259,U_249)
    | ti(U_257,U_255) != ti(U_257,U_251) ),
    inference(clausify,[status(thm)],[f_164_3]) ).

fof(f_165_1,plain,
    ! [X_a,X_b,Pa] :
      ( ( ! [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
        | ? [A_3,B_3] : ~ 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_3),B_3))) )
      & ( ! [A_3,B_3] : 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_3),B_3)))
        | ? [X1] : ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_17_split__paired__All]) ).

fof(f_165_2,plain,
    ! [U_268,U_267,U_266] :
      ( ( ! [U_265] : hBOOL(hAPP(product_prod(U_268,U_267),bool,U_266,U_265))
        | ? [U_264,U_263] : ~ hBOOL(hAPP(product_prod(U_268,U_267),bool,U_266,hAPP(U_267,product_prod(U_268,U_267),hAPP(U_268,fun(U_267,product_prod(U_268,U_267)),product_Pair(U_268,U_267),U_264),U_263))) )
      & ( ! [U_262,U_261] : hBOOL(hAPP(product_prod(U_268,U_267),bool,U_266,hAPP(U_267,product_prod(U_268,U_267),hAPP(U_268,fun(U_267,product_prod(U_268,U_267)),product_Pair(U_268,U_267),U_262),U_261)))
        | ? [U_260] : ~ hBOOL(hAPP(product_prod(U_268,U_267),bool,U_266,U_260)) ) ),
    inference(variable_rename,[status(thm)],[f_165_1]) ).

fof(f_165_3,plain,
    ( ! [U_274,U_272,U_270] :
        ( ! [U_265] : hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,U_265))
        | ? [U_264,U_263] : ~ hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,hAPP(U_272,product_prod(U_274,U_272),hAPP(U_274,fun(U_272,product_prod(U_274,U_272)),product_Pair(U_274,U_272),U_264),U_263))) )
    & ! [U_273,U_271,U_269] :
        ( ! [U_262,U_261] : hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,hAPP(U_271,product_prod(U_273,U_271),hAPP(U_273,fun(U_271,product_prod(U_273,U_271)),product_Pair(U_273,U_271),U_262),U_261)))
        | ? [U_260] : ~ hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,U_260)) ) ),
    inference(miniscope,[status(thm)],[f_165_2]) ).

fof(f_165_4,plain,
    ( ! [U_274,U_272,U_270] :
        ( ! [U_265] : hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,U_265))
        | ? [U_264,U_263] : ~ hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,hAPP(U_272,product_prod(U_274,U_272),hAPP(U_274,fun(U_272,product_prod(U_274,U_272)),product_Pair(U_274,U_272),U_264),U_263))) )
    & ! [U_273,U_271,U_269] :
        ( ! [U_262,U_261] : hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,hAPP(U_271,product_prod(U_273,U_271),hAPP(U_273,fun(U_271,product_prod(U_273,U_271)),product_Pair(U_273,U_271),U_262),U_261)))
        | ~ hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,sK32(U_273,U_271,U_269))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK32]),skolemize(U_260,sK32(U_273,U_271,U_269))],[f_165_3]) ).

fof(f_165_5,plain,
    ( ! [U_274,U_272,U_270] :
        ( ! [U_265] : hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,U_265))
        | ? [U_263] : ~ hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,hAPP(U_272,product_prod(U_274,U_272),hAPP(U_274,fun(U_272,product_prod(U_274,U_272)),product_Pair(U_274,U_272),sK33(U_274,U_272,U_270)),U_263))) )
    & ! [U_273,U_271,U_269] :
        ( ! [U_262,U_261] : hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,hAPP(U_271,product_prod(U_273,U_271),hAPP(U_273,fun(U_271,product_prod(U_273,U_271)),product_Pair(U_273,U_271),U_262),U_261)))
        | ~ hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,sK32(U_273,U_271,U_269))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK33]),skolemize(U_264,sK33(U_274,U_272,U_270))],[f_165_4]) ).

fof(f_165_6,plain,
    ( ! [U_274,U_272,U_270] :
        ( ! [U_265] : hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,U_265))
        | ~ hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,hAPP(U_272,product_prod(U_274,U_272),hAPP(U_274,fun(U_272,product_prod(U_274,U_272)),product_Pair(U_274,U_272),sK33(U_274,U_272,U_270)),sK34(U_274,U_272,U_270)))) )
    & ! [U_273,U_271,U_269] :
        ( ! [U_262,U_261] : hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,hAPP(U_271,product_prod(U_273,U_271),hAPP(U_273,fun(U_271,product_prod(U_273,U_271)),product_Pair(U_273,U_271),U_262),U_261)))
        | ~ hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,sK32(U_273,U_271,U_269))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK34]),skolemize(U_263,sK34(U_274,U_272,U_270))],[f_165_5]) ).

cnf(f_165_7,plain,
    ( hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,hAPP(U_271,product_prod(U_273,U_271),hAPP(U_273,fun(U_271,product_prod(U_273,U_271)),product_Pair(U_273,U_271),U_262),U_261)))
    | ~ hBOOL(hAPP(product_prod(U_273,U_271),bool,U_269,sK32(U_273,U_271,U_269))) ),
    inference(clausify,[status(thm)],[f_165_6]) ).

cnf(f_165_8,plain,
    ( hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,U_265))
    | ~ hBOOL(hAPP(product_prod(U_274,U_272),bool,U_270,hAPP(U_272,product_prod(U_274,U_272),hAPP(U_274,fun(U_272,product_prod(U_274,U_272)),product_Pair(U_274,U_272),sK33(U_274,U_272,U_270)),sK34(U_274,U_272,U_270)))) ),
    inference(clausify,[status(thm)],[f_165_6]) ).

fof(f_166_1,plain,
    ! [X_b,X_a,F,B,A_1,X_2] :
      ( ( hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),A_1),B),X_2) = hAPP(X_a,X_b,F,X_2)
        | ti(X_a,X_2) = ti(X_a,A_1) )
      & ( hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),A_1),B),X_2) = ti(X_b,B)
        | ti(X_a,X_2) != ti(X_a,A_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_18_fun__upd__def]) ).

fof(f_166_2,plain,
    ! [U_280,U_279,U_278,U_277,U_276,U_275] :
      ( ( hAPP(U_279,U_280,hAPP(U_280,fun(U_279,U_280),hAPP(U_279,fun(U_280,fun(U_279,U_280)),hAPP(fun(U_279,U_280),fun(U_279,fun(U_280,fun(U_279,U_280))),fun_upd(U_279,U_280),U_278),U_276),U_277),U_275) = hAPP(U_279,U_280,U_278,U_275)
        | ti(U_279,U_275) = ti(U_279,U_276) )
      & ( hAPP(U_279,U_280,hAPP(U_280,fun(U_279,U_280),hAPP(U_279,fun(U_280,fun(U_279,U_280)),hAPP(fun(U_279,U_280),fun(U_279,fun(U_280,fun(U_279,U_280))),fun_upd(U_279,U_280),U_278),U_276),U_277),U_275) = ti(U_280,U_277)
        | ti(U_279,U_275) != ti(U_279,U_276) ) ),
    inference(variable_rename,[status(thm)],[f_166_1]) ).

fof(f_166_3,plain,
    ( ! [U_292,U_290,U_288,U_286,U_284,U_282] :
        ( hAPP(U_290,U_292,hAPP(U_292,fun(U_290,U_292),hAPP(U_290,fun(U_292,fun(U_290,U_292)),hAPP(fun(U_290,U_292),fun(U_290,fun(U_292,fun(U_290,U_292))),fun_upd(U_290,U_292),U_288),U_284),U_286),U_282) = hAPP(U_290,U_292,U_288,U_282)
        | ti(U_290,U_282) = ti(U_290,U_284) )
    & ! [U_291,U_289,U_287,U_285,U_283,U_281] :
        ( hAPP(U_289,U_291,hAPP(U_291,fun(U_289,U_291),hAPP(U_289,fun(U_291,fun(U_289,U_291)),hAPP(fun(U_289,U_291),fun(U_289,fun(U_291,fun(U_289,U_291))),fun_upd(U_289,U_291),U_287),U_283),U_285),U_281) = ti(U_291,U_285)
        | ti(U_289,U_281) != ti(U_289,U_283) ) ),
    inference(miniscope,[status(thm)],[f_166_2]) ).

cnf(f_166_4,plain,
    ( hAPP(U_289,U_291,hAPP(U_291,fun(U_289,U_291),hAPP(U_289,fun(U_291,fun(U_289,U_291)),hAPP(fun(U_289,U_291),fun(U_289,fun(U_291,fun(U_289,U_291))),fun_upd(U_289,U_291),U_287),U_283),U_285),U_281) = ti(U_291,U_285)
    | ti(U_289,U_281) != ti(U_289,U_283) ),
    inference(clausify,[status(thm)],[f_166_3]) ).

cnf(f_166_5,plain,
    ( hAPP(U_290,U_292,hAPP(U_292,fun(U_290,U_292),hAPP(U_290,fun(U_292,fun(U_290,U_292)),hAPP(fun(U_290,U_292),fun(U_290,fun(U_292,fun(U_290,U_292))),fun_upd(U_290,U_292),U_288),U_284),U_286),U_282) = hAPP(U_290,U_292,U_288,U_282)
    | ti(U_290,U_282) = ti(U_290,U_284) ),
    inference(clausify,[status(thm)],[f_166_3]) ).

fof(f_167_1,plain,
    ! [X_b,X_a,F,X_1,Y_1] :
      ( hAPP(X_a,fun(X_b,X_a),hAPP(X_b,fun(X_a,fun(X_b,X_a)),hAPP(fun(X_b,X_a),fun(X_b,fun(X_a,fun(X_b,X_a))),fun_upd(X_b,X_a),F),X_1),Y_1) = ti(fun(X_b,X_a),F)
      | hAPP(X_b,X_a,F,X_1) != ti(X_a,Y_1) ),
    inference(fof_nnf,[status(thm)],[fact_19_fun__upd__idem]) ).

fof(f_167_2,plain,
    ! [U_297,U_296,U_295,U_294,U_293] :
      ( hAPP(U_296,fun(U_297,U_296),hAPP(U_297,fun(U_296,fun(U_297,U_296)),hAPP(fun(U_297,U_296),fun(U_297,fun(U_296,fun(U_297,U_296))),fun_upd(U_297,U_296),U_295),U_294),U_293) = ti(fun(U_297,U_296),U_295)
      | hAPP(U_297,U_296,U_295,U_294) != ti(U_296,U_293) ),
    inference(variable_rename,[status(thm)],[f_167_1]) ).

cnf(f_167_3,plain,
    ( hAPP(U_296,fun(U_297,U_296),hAPP(U_297,fun(U_296,fun(U_297,U_296)),hAPP(fun(U_297,U_296),fun(U_297,fun(U_296,fun(U_297,U_296))),fun_upd(U_297,U_296),U_295),U_294),U_293) = ti(fun(U_297,U_296),U_295)
    | hAPP(U_297,U_296,U_295,U_294) != ti(U_296,U_293) ),
    inference(clausify,[status(thm)],[f_167_2]) ).

fof(f_168_1,plain,
    ! [X_b,X_a,F,Y_1,Z_1,X_1] :
      ( hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = hAPP(X_a,X_b,F,Z_1)
      | ti(X_a,Z_1) = ti(X_a,X_1) ),
    inference(fof_nnf,[status(thm)],[fact_20_fun__upd__other]) ).

fof(f_168_2,plain,
    ! [U_303,U_302,U_301,U_300,U_299,U_298] :
      ( hAPP(U_302,U_303,hAPP(U_303,fun(U_302,U_303),hAPP(U_302,fun(U_303,fun(U_302,U_303)),hAPP(fun(U_302,U_303),fun(U_302,fun(U_303,fun(U_302,U_303))),fun_upd(U_302,U_303),U_301),U_298),U_300),U_299) = hAPP(U_302,U_303,U_301,U_299)
      | ti(U_302,U_299) = ti(U_302,U_298) ),
    inference(variable_rename,[status(thm)],[f_168_1]) ).

cnf(f_168_3,plain,
    ( hAPP(U_302,U_303,hAPP(U_303,fun(U_302,U_303),hAPP(U_302,fun(U_303,fun(U_302,U_303)),hAPP(fun(U_302,U_303),fun(U_302,fun(U_303,fun(U_302,U_303))),fun_upd(U_302,U_303),U_301),U_298),U_300),U_299) = hAPP(U_302,U_303,U_301,U_299)
    | ti(U_302,U_299) = ti(U_302,U_298) ),
    inference(clausify,[status(thm)],[f_168_2]) ).

fof(f_169_1,plain,
    ! [X_b,X_a,M_1,B,D,A_1,C] :
      ( hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),M_1),A_1),B)),C),D) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),M_1),C),D)),A_1),B)
      | ti(X_a,A_1) = ti(X_a,C) ),
    inference(fof_nnf,[status(thm)],[fact_21_fun__upd__twist]) ).

fof(f_169_2,plain,
    ! [U_310,U_309,U_308,U_307,U_306,U_305,U_304] :
      ( hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),U_308),U_305),U_307)),U_304),U_306) = hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),U_308),U_304),U_306)),U_305),U_307)
      | ti(U_309,U_305) = ti(U_309,U_304) ),
    inference(variable_rename,[status(thm)],[f_169_1]) ).

cnf(f_169_3,plain,
    ( hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),U_308),U_305),U_307)),U_304),U_306) = hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),hAPP(U_310,fun(U_309,U_310),hAPP(U_309,fun(U_310,fun(U_309,U_310)),hAPP(fun(U_309,U_310),fun(U_309,fun(U_310,fun(U_309,U_310))),fun_upd(U_309,U_310),U_308),U_304),U_306)),U_305),U_307)
    | ti(U_309,U_305) = ti(U_309,U_304) ),
    inference(clausify,[status(thm)],[f_169_2]) ).

fof(f_170_1,plain,
    ! [X_b,X_a,F,Y_1,Z_1,X_1] :
      ( ( hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = hAPP(X_a,X_b,F,Z_1)
        | ti(X_a,Z_1) = ti(X_a,X_1) )
      & ( hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1),Z_1) = ti(X_b,Y_1)
        | ti(X_a,Z_1) != ti(X_a,X_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_22_fun__upd__apply]) ).

fof(f_170_2,plain,
    ! [U_316,U_315,U_314,U_313,U_312,U_311] :
      ( ( hAPP(U_315,U_316,hAPP(U_316,fun(U_315,U_316),hAPP(U_315,fun(U_316,fun(U_315,U_316)),hAPP(fun(U_315,U_316),fun(U_315,fun(U_316,fun(U_315,U_316))),fun_upd(U_315,U_316),U_314),U_311),U_313),U_312) = hAPP(U_315,U_316,U_314,U_312)
        | ti(U_315,U_312) = ti(U_315,U_311) )
      & ( hAPP(U_315,U_316,hAPP(U_316,fun(U_315,U_316),hAPP(U_315,fun(U_316,fun(U_315,U_316)),hAPP(fun(U_315,U_316),fun(U_315,fun(U_316,fun(U_315,U_316))),fun_upd(U_315,U_316),U_314),U_311),U_313),U_312) = ti(U_316,U_313)
        | ti(U_315,U_312) != ti(U_315,U_311) ) ),
    inference(variable_rename,[status(thm)],[f_170_1]) ).

fof(f_170_3,plain,
    ( ! [U_328,U_326,U_324,U_322,U_320,U_318] :
        ( hAPP(U_326,U_328,hAPP(U_328,fun(U_326,U_328),hAPP(U_326,fun(U_328,fun(U_326,U_328)),hAPP(fun(U_326,U_328),fun(U_326,fun(U_328,fun(U_326,U_328))),fun_upd(U_326,U_328),U_324),U_318),U_322),U_320) = hAPP(U_326,U_328,U_324,U_320)
        | ti(U_326,U_320) = ti(U_326,U_318) )
    & ! [U_327,U_325,U_323,U_321,U_319,U_317] :
        ( hAPP(U_325,U_327,hAPP(U_327,fun(U_325,U_327),hAPP(U_325,fun(U_327,fun(U_325,U_327)),hAPP(fun(U_325,U_327),fun(U_325,fun(U_327,fun(U_325,U_327))),fun_upd(U_325,U_327),U_323),U_317),U_321),U_319) = ti(U_327,U_321)
        | ti(U_325,U_319) != ti(U_325,U_317) ) ),
    inference(miniscope,[status(thm)],[f_170_2]) ).

cnf(f_170_4,plain,
    ( hAPP(U_325,U_327,hAPP(U_327,fun(U_325,U_327),hAPP(U_325,fun(U_327,fun(U_325,U_327)),hAPP(fun(U_325,U_327),fun(U_325,fun(U_327,fun(U_325,U_327))),fun_upd(U_325,U_327),U_323),U_317),U_321),U_319) = ti(U_327,U_321)
    | ti(U_325,U_319) != ti(U_325,U_317) ),
    inference(clausify,[status(thm)],[f_170_3]) ).

cnf(f_170_5,plain,
    ( hAPP(U_326,U_328,hAPP(U_328,fun(U_326,U_328),hAPP(U_326,fun(U_328,fun(U_326,U_328)),hAPP(fun(U_326,U_328),fun(U_326,fun(U_328,fun(U_326,U_328))),fun_upd(U_326,U_328),U_324),U_318),U_322),U_320) = hAPP(U_326,U_328,U_324,U_320)
    | ti(U_326,U_320) = ti(U_326,U_318) ),
    inference(clausify,[status(thm)],[f_170_3]) ).

fof(f_171_1,plain,
    ! [X_b,X_a,F,X_1,Y_1] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),hAPP(X_b,fun(X_a,fun(X_b,X_a)),hAPP(fun(X_b,X_a),fun(X_b,fun(X_a,fun(X_b,X_a))),fun_upd(X_b,X_a),F),X_1),Y_1),X_1) = ti(X_a,Y_1),
    inference(fof_nnf,[status(thm)],[fact_23_fun__upd__same]) ).

fof(f_171_2,plain,
    ! [U_333,U_332,U_331,U_330,U_329] : hAPP(U_333,U_332,hAPP(U_332,fun(U_333,U_332),hAPP(U_333,fun(U_332,fun(U_333,U_332)),hAPP(fun(U_333,U_332),fun(U_333,fun(U_332,fun(U_333,U_332))),fun_upd(U_333,U_332),U_331),U_330),U_329),U_330) = ti(U_332,U_329),
    inference(variable_rename,[status(thm)],[f_171_1]) ).

cnf(f_171_3,plain,
    hAPP(U_333,U_332,hAPP(U_332,fun(U_333,U_332),hAPP(U_333,fun(U_332,fun(U_333,U_332)),hAPP(fun(U_333,U_332),fun(U_333,fun(U_332,fun(U_333,U_332))),fun_upd(U_333,U_332),U_331),U_330),U_329),U_330) = ti(U_332,U_329),
    inference(clausify,[status(thm)],[f_171_2]) ).

fof(f_172_1,plain,
    ! [X_b,X_a,F,X_1,Y_1,Z_1] : hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1)),X_1),Z_1) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Z_1),
    inference(fof_nnf,[status(thm)],[fact_24_fun__upd__upd]) ).

fof(f_172_2,plain,
    ! [U_339,U_338,U_337,U_336,U_335,U_334] : hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),U_337),U_336),U_335)),U_336),U_334) = hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),U_337),U_336),U_334),
    inference(variable_rename,[status(thm)],[f_172_1]) ).

cnf(f_172_3,plain,
    hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),U_337),U_336),U_335)),U_336),U_334) = hAPP(U_339,fun(U_338,U_339),hAPP(U_338,fun(U_339,fun(U_338,U_339)),hAPP(fun(U_338,U_339),fun(U_338,fun(U_339,fun(U_338,U_339))),fun_upd(U_338,U_339),U_337),U_336),U_334),
    inference(clausify,[status(thm)],[f_172_2]) ).

fof(f_173_1,plain,
    ! [X_b,X_a,F,X_1,Y_1] :
      ( ( hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1) = ti(fun(X_a,X_b),F)
        | hAPP(X_a,X_b,F,X_1) != ti(X_b,Y_1) )
      & ( hAPP(X_a,X_b,F,X_1) = ti(X_b,Y_1)
        | hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),X_1),Y_1) != ti(fun(X_a,X_b),F) ) ),
    inference(fof_nnf,[status(thm)],[fact_25_fun__upd__idem__iff]) ).

fof(f_173_2,plain,
    ! [U_344,U_343,U_342,U_341,U_340] :
      ( ( hAPP(U_344,fun(U_343,U_344),hAPP(U_343,fun(U_344,fun(U_343,U_344)),hAPP(fun(U_343,U_344),fun(U_343,fun(U_344,fun(U_343,U_344))),fun_upd(U_343,U_344),U_342),U_341),U_340) = ti(fun(U_343,U_344),U_342)
        | hAPP(U_343,U_344,U_342,U_341) != ti(U_344,U_340) )
      & ( hAPP(U_343,U_344,U_342,U_341) = ti(U_344,U_340)
        | hAPP(U_344,fun(U_343,U_344),hAPP(U_343,fun(U_344,fun(U_343,U_344)),hAPP(fun(U_343,U_344),fun(U_343,fun(U_344,fun(U_343,U_344))),fun_upd(U_343,U_344),U_342),U_341),U_340) != ti(fun(U_343,U_344),U_342) ) ),
    inference(variable_rename,[status(thm)],[f_173_1]) ).

fof(f_173_3,plain,
    ( ! [U_354,U_352,U_350,U_348,U_346] :
        ( hAPP(U_354,fun(U_352,U_354),hAPP(U_352,fun(U_354,fun(U_352,U_354)),hAPP(fun(U_352,U_354),fun(U_352,fun(U_354,fun(U_352,U_354))),fun_upd(U_352,U_354),U_350),U_348),U_346) = ti(fun(U_352,U_354),U_350)
        | hAPP(U_352,U_354,U_350,U_348) != ti(U_354,U_346) )
    & ! [U_353,U_351,U_349,U_347,U_345] :
        ( hAPP(U_351,U_353,U_349,U_347) = ti(U_353,U_345)
        | hAPP(U_353,fun(U_351,U_353),hAPP(U_351,fun(U_353,fun(U_351,U_353)),hAPP(fun(U_351,U_353),fun(U_351,fun(U_353,fun(U_351,U_353))),fun_upd(U_351,U_353),U_349),U_347),U_345) != ti(fun(U_351,U_353),U_349) ) ),
    inference(miniscope,[status(thm)],[f_173_2]) ).

cnf(f_173_4,plain,
    ( hAPP(U_351,U_353,U_349,U_347) = ti(U_353,U_345)
    | hAPP(U_353,fun(U_351,U_353),hAPP(U_351,fun(U_353,fun(U_351,U_353)),hAPP(fun(U_351,U_353),fun(U_351,fun(U_353,fun(U_351,U_353))),fun_upd(U_351,U_353),U_349),U_347),U_345) != ti(fun(U_351,U_353),U_349) ),
    inference(clausify,[status(thm)],[f_173_3]) ).

cnf(f_173_5,plain,
    ( hAPP(U_354,fun(U_352,U_354),hAPP(U_352,fun(U_354,fun(U_352,U_354)),hAPP(fun(U_352,U_354),fun(U_352,fun(U_354,fun(U_352,U_354))),fun_upd(U_352,U_354),U_350),U_348),U_346) = ti(fun(U_352,U_354),U_350)
    | hAPP(U_352,U_354,U_350,U_348) != ti(U_354,U_346) ),
    inference(clausify,[status(thm)],[f_173_3]) ).

fof(f_174_1,plain,
    ! [X_m,P,T_3] : hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))))),fun(ty,fun(ty,bool)),widen(X_m),P),T_3),T_3)),
    inference(fof_nnf,[status(thm)],[fact_26_widen__refl]) ).

fof(f_174_2,plain,
    ! [U_357,U_356,U_355] : 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,U_357)))))))),fun(ty,fun(ty,bool)),widen(U_357),U_356),U_355),U_355)),
    inference(variable_rename,[status(thm)],[f_174_1]) ).

cnf(f_174_3,plain,
    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,U_357)))))))),fun(ty,fun(ty,bool)),widen(U_357),U_356),U_355),U_355)),
    inference(clausify,[status(thm)],[f_174_2]) ).

fof(f_175_1,plain,
    ! [Ea,Ta,Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( 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_b))
      | ~ 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),Hb))
      | ~ 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_1,Pa),Hb),Ea),Eb),Ta))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_27_red__preserves__hconf]) ).

fof(f_175_2,plain,
    ! [U_366,U_365,U_364,U_363,U_362,U_361,U_360,U_359,U_358] :
      ( 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)))),U_358),U_360))
      | ~ 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)))),U_358),U_363))
      | ~ 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_1,U_358),U_363),U_366),U_364),U_365))
      | ~ 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)))),U_364),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))),U_363),U_362))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_361),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))),U_360),U_359)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_358))) ),
    inference(variable_rename,[status(thm)],[f_175_1]) ).

cnf(f_175_3,plain,
    ( 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)))),U_358),U_360))
    | ~ 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)))),U_358),U_363))
    | ~ 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_1,U_358),U_363),U_366),U_364),U_365))
    | ~ 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)))),U_364),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))),U_363),U_362))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_361),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))),U_360),U_359)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_358))) ),
    inference(clausify,[status(thm)],[f_175_2]) ).

fof(f_176_1,plain,
    ! [Ea,Ta,Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( 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_b),L_b),Ea))
      | ~ 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),Hb),Lb),Ea))
      | ~ 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_1,Pa),Hb),Ea),Eb),Ta))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_28_red__preserves__lconf]) ).

fof(f_176_2,plain,
    ! [U_375,U_374,U_373,U_372,U_371,U_370,U_369,U_368,U_367] :
      ( 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)))),U_367),U_369),U_368),U_375))
      | ~ 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)))),U_367),U_372),U_371),U_375))
      | ~ 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_1,U_367),U_372),U_375),U_373),U_374))
      | ~ 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)))),U_373),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))),U_372),U_371))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_370),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))),U_369),U_368)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_367))) ),
    inference(variable_rename,[status(thm)],[f_176_1]) ).

cnf(f_176_3,plain,
    ( 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)))),U_367),U_369),U_368),U_375))
    | ~ 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)))),U_367),U_372),U_371),U_375))
    | ~ 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_1,U_367),U_372),U_375),U_373),U_374))
    | ~ 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)))),U_373),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))),U_372),U_371))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_370),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))),U_369),U_368)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_367))) ),
    inference(clausify,[status(thm)],[f_176_2]) ).

fof(f_177_1,plain,
    ! [X_a,X_b,X_c,Y] :
    ? [A_3,B_3,C_7] : 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_3),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_3),C_7)),
    inference(fof_nnf,[status(thm)],[fact_29_prod__cases3]) ).

fof(f_177_2,plain,
    ! [U_382,U_381,U_380,U_379] :
    ? [U_378,U_377,U_376] : ti(product_prod(U_382,product_prod(U_381,U_380)),U_379) = hAPP(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380)),hAPP(U_382,fun(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380))),product_Pair(U_382,product_prod(U_381,U_380)),U_378),hAPP(U_380,product_prod(U_381,U_380),hAPP(U_381,fun(U_380,product_prod(U_381,U_380)),product_Pair(U_381,U_380),U_377),U_376)),
    inference(variable_rename,[status(thm)],[f_177_1]) ).

fof(f_177_3,plain,
    ! [U_382,U_381,U_380,U_379] :
    ? [U_377,U_376] : ti(product_prod(U_382,product_prod(U_381,U_380)),U_379) = hAPP(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380)),hAPP(U_382,fun(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380))),product_Pair(U_382,product_prod(U_381,U_380)),sK35(U_382,U_381,U_380,U_379)),hAPP(U_380,product_prod(U_381,U_380),hAPP(U_381,fun(U_380,product_prod(U_381,U_380)),product_Pair(U_381,U_380),U_377),U_376)),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK35]),skolemize(U_378,sK35(U_382,U_381,U_380,U_379))],[f_177_2]) ).

fof(f_177_4,plain,
    ! [U_382,U_381,U_380,U_379] :
    ? [U_376] : ti(product_prod(U_382,product_prod(U_381,U_380)),U_379) = hAPP(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380)),hAPP(U_382,fun(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380))),product_Pair(U_382,product_prod(U_381,U_380)),sK35(U_382,U_381,U_380,U_379)),hAPP(U_380,product_prod(U_381,U_380),hAPP(U_381,fun(U_380,product_prod(U_381,U_380)),product_Pair(U_381,U_380),sK36(U_382,U_381,U_380,U_379)),U_376)),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK36]),skolemize(U_377,sK36(U_382,U_381,U_380,U_379))],[f_177_3]) ).

fof(f_177_5,plain,
    ! [U_382,U_381,U_380,U_379] : ti(product_prod(U_382,product_prod(U_381,U_380)),U_379) = hAPP(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380)),hAPP(U_382,fun(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380))),product_Pair(U_382,product_prod(U_381,U_380)),sK35(U_382,U_381,U_380,U_379)),hAPP(U_380,product_prod(U_381,U_380),hAPP(U_381,fun(U_380,product_prod(U_381,U_380)),product_Pair(U_381,U_380),sK36(U_382,U_381,U_380,U_379)),sK37(U_382,U_381,U_380,U_379))),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK37]),skolemize(U_376,sK37(U_382,U_381,U_380,U_379))],[f_177_4]) ).

cnf(f_177_6,plain,
    ti(product_prod(U_382,product_prod(U_381,U_380)),U_379) = hAPP(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380)),hAPP(U_382,fun(product_prod(U_381,U_380),product_prod(U_382,product_prod(U_381,U_380))),product_Pair(U_382,product_prod(U_381,U_380)),sK35(U_382,U_381,U_380,U_379)),hAPP(U_380,product_prod(U_381,U_380),hAPP(U_381,fun(U_380,product_prod(U_381,U_380)),product_Pair(U_381,U_380),sK36(U_382,U_381,U_380,U_379)),sK37(U_382,U_381,U_380,U_379))),
    inference(clausify,[status(thm)],[f_177_5]) ).

fof(f_178_1,plain,
    ! [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))
      | ? [A_3,B_3,C_7] : ~ 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_3),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_3),C_7)))) ),
    inference(fof_nnf,[status(thm)],[fact_30_prod__induct3]) ).

fof(f_178_2,plain,
    ! [U_390,U_389,U_388,U_387,U_386] :
      ( hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,U_387))
      | ? [U_385,U_384,U_383] : ~ hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,hAPP(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388)),hAPP(U_390,fun(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388))),product_Pair(U_390,product_prod(U_389,U_388)),U_385),hAPP(U_388,product_prod(U_389,U_388),hAPP(U_389,fun(U_388,product_prod(U_389,U_388)),product_Pair(U_389,U_388),U_384),U_383)))) ),
    inference(variable_rename,[status(thm)],[f_178_1]) ).

fof(f_178_3,plain,
    ! [U_390,U_389,U_388,U_387,U_386] :
      ( hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,U_387))
      | ? [U_384,U_383] : ~ hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,hAPP(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388)),hAPP(U_390,fun(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388))),product_Pair(U_390,product_prod(U_389,U_388)),sK38(U_390,U_389,U_388,U_387,U_386)),hAPP(U_388,product_prod(U_389,U_388),hAPP(U_389,fun(U_388,product_prod(U_389,U_388)),product_Pair(U_389,U_388),U_384),U_383)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK38]),skolemize(U_385,sK38(U_390,U_389,U_388,U_387,U_386))],[f_178_2]) ).

fof(f_178_4,plain,
    ! [U_390,U_389,U_388,U_387,U_386] :
      ( hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,U_387))
      | ? [U_383] : ~ hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,hAPP(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388)),hAPP(U_390,fun(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388))),product_Pair(U_390,product_prod(U_389,U_388)),sK38(U_390,U_389,U_388,U_387,U_386)),hAPP(U_388,product_prod(U_389,U_388),hAPP(U_389,fun(U_388,product_prod(U_389,U_388)),product_Pair(U_389,U_388),sK39(U_390,U_389,U_388,U_387,U_386)),U_383)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK39]),skolemize(U_384,sK39(U_390,U_389,U_388,U_387,U_386))],[f_178_3]) ).

fof(f_178_5,plain,
    ! [U_390,U_389,U_388,U_387,U_386] :
      ( hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,U_387))
      | ~ hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,hAPP(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388)),hAPP(U_390,fun(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388))),product_Pair(U_390,product_prod(U_389,U_388)),sK38(U_390,U_389,U_388,U_387,U_386)),hAPP(U_388,product_prod(U_389,U_388),hAPP(U_389,fun(U_388,product_prod(U_389,U_388)),product_Pair(U_389,U_388),sK39(U_390,U_389,U_388,U_387,U_386)),sK40(U_390,U_389,U_388,U_387,U_386))))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK40]),skolemize(U_383,sK40(U_390,U_389,U_388,U_387,U_386))],[f_178_4]) ).

cnf(f_178_6,plain,
    ( hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,U_387))
    | ~ hBOOL(hAPP(product_prod(U_390,product_prod(U_389,U_388)),bool,U_386,hAPP(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388)),hAPP(U_390,fun(product_prod(U_389,U_388),product_prod(U_390,product_prod(U_389,U_388))),product_Pair(U_390,product_prod(U_389,U_388)),sK38(U_390,U_389,U_388,U_387,U_386)),hAPP(U_388,product_prod(U_389,U_388),hAPP(U_389,fun(U_388,product_prod(U_389,U_388)),product_Pair(U_389,U_388),sK39(U_390,U_389,U_388,U_387,U_386)),sK40(U_390,U_389,U_388,U_387,U_386))))) ),
    inference(clausify,[status(thm)],[f_178_5]) ).

fof(f_179_1,plain,
    ! [Ea,Ta,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
      | ~ 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_1,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),Ea),Eb),Ta))
      | ~ 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_31_red__preserves__sconf]) ).

fof(f_179_2,plain,
    ! [U_397,U_396,U_395,U_394,U_393,U_392,U_391] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_391),U_397),U_392))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_391),U_397),U_394))
      | ~ 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_1,U_391),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_394)),U_397),U_395),U_396))
      | ~ 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)))),U_395),U_394)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_393),U_392))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_391))) ),
    inference(variable_rename,[status(thm)],[f_179_1]) ).

cnf(f_179_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_391),U_397),U_392))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_391),U_397),U_394))
    | ~ 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_1,U_391),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_394)),U_397),U_395),U_396))
    | ~ 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)))),U_395),U_394)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_393),U_392))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_391))) ),
    inference(clausify,[status(thm)],[f_179_2]) ).

fof(f_180_1,plain,
    ! [X_b,X_c,X_a,F1_1,A_1,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_1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1_1,A_1),B),
    inference(fof_nnf,[status(thm)],[fact_32_prod_Orecs]) ).

fof(f_180_2,plain,
    ! [U_403,U_402,U_401,U_400,U_399,U_398] : hAPP(product_prod(U_403,U_402),U_401,hAPP(fun(U_403,fun(U_402,U_401)),fun(product_prod(U_403,U_402),U_401),product_prod_rec(U_403,U_402,U_401),U_400),hAPP(U_402,product_prod(U_403,U_402),hAPP(U_403,fun(U_402,product_prod(U_403,U_402)),product_Pair(U_403,U_402),U_399),U_398)) = hAPP(U_402,U_401,hAPP(U_403,fun(U_402,U_401),U_400,U_399),U_398),
    inference(variable_rename,[status(thm)],[f_180_1]) ).

cnf(f_180_3,plain,
    hAPP(product_prod(U_403,U_402),U_401,hAPP(fun(U_403,fun(U_402,U_401)),fun(product_prod(U_403,U_402),U_401),product_prod_rec(U_403,U_402,U_401),U_400),hAPP(U_402,product_prod(U_403,U_402),hAPP(U_403,fun(U_402,product_prod(U_403,U_402)),product_Pair(U_403,U_402),U_399),U_398)) = hAPP(U_402,U_401,hAPP(U_403,fun(U_402,U_401),U_400,U_399),U_398),
    inference(clausify,[status(thm)],[f_180_2]) ).

fof(f_181_1,plain,
    ! [X_a,X_b,S_2,R_1] :
      ( ( ! [X_2,Xa] :
            ( ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),R_1))
              | ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),S_2)) )
            & ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),S_2))
              | ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),R_1)) ) )
        | ti(fun(product_prod(X_a,X_b),bool),R_1) != ti(fun(product_prod(X_a,X_b),bool),S_2) )
      & ( ti(fun(product_prod(X_a,X_b),bool),R_1) = ti(fun(product_prod(X_a,X_b),bool),S_2)
        | ? [X_2,Xa] :
            ( ( ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),R_1))
              & hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),S_2)) )
            | ( ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),S_2))
              & hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),R_1)) ) ) ) ),
    inference(fof_nnf,[status(thm)],[fact_33_pred__equals__eq2]) ).

fof(f_181_2,plain,
    ! [U_411,U_410,U_409,U_408] :
      ( ( ! [U_407,U_406] :
            ( ( hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_407),U_406)),U_408))
              | ~ hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_407),U_406)),U_409)) )
            & ( hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_407),U_406)),U_409))
              | ~ hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_407),U_406)),U_408)) ) )
        | ti(fun(product_prod(U_411,U_410),bool),U_408) != ti(fun(product_prod(U_411,U_410),bool),U_409) )
      & ( ti(fun(product_prod(U_411,U_410),bool),U_408) = ti(fun(product_prod(U_411,U_410),bool),U_409)
        | ? [U_405,U_404] :
            ( ( ~ hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_405),U_404)),U_408))
              & hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_405),U_404)),U_409)) )
            | ( ~ hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_405),U_404)),U_409))
              & hBOOL(hAPP(fun(product_prod(U_411,U_410),bool),bool,hAPP(product_prod(U_411,U_410),fun(fun(product_prod(U_411,U_410),bool),bool),member(product_prod(U_411,U_410)),hAPP(U_410,product_prod(U_411,U_410),hAPP(U_411,fun(U_410,product_prod(U_411,U_410)),product_Pair(U_411,U_410),U_405),U_404)),U_408)) ) ) ) ),
    inference(variable_rename,[status(thm)],[f_181_1]) ).

fof(f_181_3,plain,
    ( ! [U_427,U_425,U_423,U_421] :
        ( ( ! [U_419,U_417] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423)) )
          & ! [U_418,U_416] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421)) ) )
        | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) )
    & ! [U_426,U_424,U_422,U_420] :
        ( ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422)
        | ? [U_415,U_413] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_420))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_422)) )
        | ? [U_414,U_412] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_414),U_412)),U_422))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_414),U_412)),U_420)) ) ) ),
    inference(miniscope,[status(thm)],[f_181_2]) ).

fof(f_181_4,plain,
    ( ! [U_427,U_425,U_423,U_421] :
        ( ( ! [U_419,U_417] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423)) )
          & ! [U_418,U_416] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421)) ) )
        | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) )
    & ! [U_426,U_424,U_422,U_420] :
        ( ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422)
        | ? [U_415,U_413] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_420))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_422)) )
        | ? [U_412] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),U_412)),U_422))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),U_412)),U_420)) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK41]),skolemize(U_414,sK41(U_426,U_424,U_422,U_420))],[f_181_3]) ).

fof(f_181_5,plain,
    ( ! [U_427,U_425,U_423,U_421] :
        ( ( ! [U_419,U_417] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423)) )
          & ! [U_418,U_416] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421)) ) )
        | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) )
    & ! [U_426,U_424,U_422,U_420] :
        ( ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422)
        | ? [U_415,U_413] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_420))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),U_415),U_413)),U_422)) )
        | ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_422))
          & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_420)) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK42]),skolemize(U_412,sK42(U_426,U_424,U_422,U_420))],[f_181_4]) ).

fof(f_181_6,plain,
    ( ! [U_427,U_425,U_423,U_421] :
        ( ( ! [U_419,U_417] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423)) )
          & ! [U_418,U_416] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421)) ) )
        | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) )
    & ! [U_426,U_424,U_422,U_420] :
        ( ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422)
        | ? [U_413] :
            ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),U_413)),U_420))
            & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),U_413)),U_422)) )
        | ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_422))
          & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_420)) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK43]),skolemize(U_415,sK43(U_426,U_424,U_422,U_420))],[f_181_5]) ).

fof(f_181_7,plain,
    ( ! [U_427,U_425,U_423,U_421] :
        ( ( ! [U_419,U_417] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423)) )
          & ! [U_418,U_416] :
              ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
              | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421)) ) )
        | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) )
    & ! [U_426,U_424,U_422,U_420] :
        ( ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422)
        | ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_420))
          & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_422)) )
        | ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_422))
          & hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_420)) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK44]),skolemize(U_413,sK44(U_426,U_424,U_422,U_420))],[f_181_6]) ).

cnf(f_181_8,plain,
    ( hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_422))
    | hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_420))
    | ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

cnf(f_181_9,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_420))
    | hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_420))
    | ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

cnf(f_181_10,plain,
    ( hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_422))
    | ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_422))
    | ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

cnf(f_181_11,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK43(U_426,U_424,U_422,U_420)),sK44(U_426,U_424,U_422,U_420))),U_420))
    | ~ hBOOL(hAPP(fun(product_prod(U_426,U_424),bool),bool,hAPP(product_prod(U_426,U_424),fun(fun(product_prod(U_426,U_424),bool),bool),member(product_prod(U_426,U_424)),hAPP(U_424,product_prod(U_426,U_424),hAPP(U_426,fun(U_424,product_prod(U_426,U_424)),product_Pair(U_426,U_424),sK41(U_426,U_424,U_422,U_420)),sK42(U_426,U_424,U_422,U_420))),U_422))
    | ti(fun(product_prod(U_426,U_424),bool),U_420) = ti(fun(product_prod(U_426,U_424),bool),U_422) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

cnf(f_181_12,plain,
    ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_423))
    | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_418),U_416)),U_421))
    | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

cnf(f_181_13,plain,
    ( hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_421))
    | ~ hBOOL(hAPP(fun(product_prod(U_427,U_425),bool),bool,hAPP(product_prod(U_427,U_425),fun(fun(product_prod(U_427,U_425),bool),bool),member(product_prod(U_427,U_425)),hAPP(U_425,product_prod(U_427,U_425),hAPP(U_427,fun(U_425,product_prod(U_427,U_425)),product_Pair(U_427,U_425),U_419),U_417)),U_423))
    | ti(fun(product_prod(U_427,U_425),bool),U_421) != ti(fun(product_prod(U_427,U_425),bool),U_423) ),
    inference(clausify,[status(thm)],[f_181_7]) ).

fof(f_182_1,plain,
    ! [X_a,X_b,Y] :
    ? [A_3,B_3] : 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_3),B_3),
    inference(fof_nnf,[status(thm)],[fact_34_prod_Oexhaust]) ).

fof(f_182_2,plain,
    ! [U_432,U_431,U_430] :
    ? [U_429,U_428] : ti(product_prod(U_432,U_431),U_430) = hAPP(U_431,product_prod(U_432,U_431),hAPP(U_432,fun(U_431,product_prod(U_432,U_431)),product_Pair(U_432,U_431),U_429),U_428),
    inference(variable_rename,[status(thm)],[f_182_1]) ).

fof(f_182_3,plain,
    ! [U_432,U_431,U_430] :
    ? [U_428] : ti(product_prod(U_432,U_431),U_430) = hAPP(U_431,product_prod(U_432,U_431),hAPP(U_432,fun(U_431,product_prod(U_432,U_431)),product_Pair(U_432,U_431),sK45(U_432,U_431,U_430)),U_428),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK45]),skolemize(U_429,sK45(U_432,U_431,U_430))],[f_182_2]) ).

fof(f_182_4,plain,
    ! [U_432,U_431,U_430] : ti(product_prod(U_432,U_431),U_430) = hAPP(U_431,product_prod(U_432,U_431),hAPP(U_432,fun(U_431,product_prod(U_432,U_431)),product_Pair(U_432,U_431),sK45(U_432,U_431,U_430)),sK46(U_432,U_431,U_430)),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK46]),skolemize(U_428,sK46(U_432,U_431,U_430))],[f_182_3]) ).

cnf(f_182_5,plain,
    ti(product_prod(U_432,U_431),U_430) = hAPP(U_431,product_prod(U_432,U_431),hAPP(U_432,fun(U_431,product_prod(U_432,U_431)),product_Pair(U_432,U_431),sK45(U_432,U_431,U_430)),sK46(U_432,U_431,U_430)),
    inference(clausify,[status(thm)],[f_182_4]) ).

fof(f_183_1,plain,
    ! [X_a,X_b,P_2] :
    ? [X_2,Y_2] : ti(product_prod(X_a,X_b),P_2) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2),
    inference(fof_nnf,[status(thm)],[fact_35_PairE]) ).

fof(f_183_2,plain,
    ! [U_437,U_436,U_435] :
    ? [U_434,U_433] : ti(product_prod(U_437,U_436),U_435) = hAPP(U_436,product_prod(U_437,U_436),hAPP(U_437,fun(U_436,product_prod(U_437,U_436)),product_Pair(U_437,U_436),U_434),U_433),
    inference(variable_rename,[status(thm)],[f_183_1]) ).

fof(f_183_3,plain,
    ! [U_437,U_436,U_435] :
    ? [U_433] : ti(product_prod(U_437,U_436),U_435) = hAPP(U_436,product_prod(U_437,U_436),hAPP(U_437,fun(U_436,product_prod(U_437,U_436)),product_Pair(U_437,U_436),sK47(U_437,U_436,U_435)),U_433),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK47]),skolemize(U_434,sK47(U_437,U_436,U_435))],[f_183_2]) ).

fof(f_183_4,plain,
    ! [U_437,U_436,U_435] : ti(product_prod(U_437,U_436),U_435) = hAPP(U_436,product_prod(U_437,U_436),hAPP(U_437,fun(U_436,product_prod(U_437,U_436)),product_Pair(U_437,U_436),sK47(U_437,U_436,U_435)),sK48(U_437,U_436,U_435)),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK48]),skolemize(U_433,sK48(U_437,U_436,U_435))],[f_183_3]) ).

cnf(f_183_5,plain,
    ti(product_prod(U_437,U_436),U_435) = hAPP(U_436,product_prod(U_437,U_436),hAPP(U_437,fun(U_436,product_prod(U_437,U_436)),product_Pair(U_437,U_436),sK47(U_437,U_436,U_435)),sK48(U_437,U_436,U_435)),
    inference(clausify,[status(thm)],[f_183_4]) ).

fof(f_184_1,plain,
    ! [X_a,X_b,Pa] :
      ( ( ? [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
        | ! [A_3,B_3] : ~ 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_3),B_3))) )
      & ( ? [A_3,B_3] : 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_3),B_3)))
        | ! [X1] : ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_36_split__paired__Ex]) ).

fof(f_184_2,plain,
    ! [U_446,U_445,U_444] :
      ( ( ? [U_443] : hBOOL(hAPP(product_prod(U_446,U_445),bool,U_444,U_443))
        | ! [U_442,U_441] : ~ hBOOL(hAPP(product_prod(U_446,U_445),bool,U_444,hAPP(U_445,product_prod(U_446,U_445),hAPP(U_446,fun(U_445,product_prod(U_446,U_445)),product_Pair(U_446,U_445),U_442),U_441))) )
      & ( ? [U_440,U_439] : hBOOL(hAPP(product_prod(U_446,U_445),bool,U_444,hAPP(U_445,product_prod(U_446,U_445),hAPP(U_446,fun(U_445,product_prod(U_446,U_445)),product_Pair(U_446,U_445),U_440),U_439)))
        | ! [U_438] : ~ hBOOL(hAPP(product_prod(U_446,U_445),bool,U_444,U_438)) ) ),
    inference(variable_rename,[status(thm)],[f_184_1]) ).

fof(f_184_3,plain,
    ( ! [U_452,U_450,U_448] :
        ( ? [U_443] : hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,U_443))
        | ! [U_442,U_441] : ~ hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,hAPP(U_450,product_prod(U_452,U_450),hAPP(U_452,fun(U_450,product_prod(U_452,U_450)),product_Pair(U_452,U_450),U_442),U_441))) )
    & ! [U_451,U_449,U_447] :
        ( ? [U_440,U_439] : hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,hAPP(U_449,product_prod(U_451,U_449),hAPP(U_451,fun(U_449,product_prod(U_451,U_449)),product_Pair(U_451,U_449),U_440),U_439)))
        | ! [U_438] : ~ hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,U_438)) ) ),
    inference(miniscope,[status(thm)],[f_184_2]) ).

fof(f_184_4,plain,
    ( ! [U_452,U_450,U_448] :
        ( ? [U_443] : hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,U_443))
        | ! [U_442,U_441] : ~ hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,hAPP(U_450,product_prod(U_452,U_450),hAPP(U_452,fun(U_450,product_prod(U_452,U_450)),product_Pair(U_452,U_450),U_442),U_441))) )
    & ! [U_451,U_449,U_447] :
        ( ? [U_439] : hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,hAPP(U_449,product_prod(U_451,U_449),hAPP(U_451,fun(U_449,product_prod(U_451,U_449)),product_Pair(U_451,U_449),sK49(U_451,U_449,U_447)),U_439)))
        | ! [U_438] : ~ hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,U_438)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK49]),skolemize(U_440,sK49(U_451,U_449,U_447))],[f_184_3]) ).

fof(f_184_5,plain,
    ( ! [U_452,U_450,U_448] :
        ( ? [U_443] : hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,U_443))
        | ! [U_442,U_441] : ~ hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,hAPP(U_450,product_prod(U_452,U_450),hAPP(U_452,fun(U_450,product_prod(U_452,U_450)),product_Pair(U_452,U_450),U_442),U_441))) )
    & ! [U_451,U_449,U_447] :
        ( hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,hAPP(U_449,product_prod(U_451,U_449),hAPP(U_451,fun(U_449,product_prod(U_451,U_449)),product_Pair(U_451,U_449),sK49(U_451,U_449,U_447)),sK50(U_451,U_449,U_447))))
        | ! [U_438] : ~ hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,U_438)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK50]),skolemize(U_439,sK50(U_451,U_449,U_447))],[f_184_4]) ).

fof(f_184_6,plain,
    ( ! [U_452,U_450,U_448] :
        ( hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,sK51(U_452,U_450,U_448)))
        | ! [U_442,U_441] : ~ hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,hAPP(U_450,product_prod(U_452,U_450),hAPP(U_452,fun(U_450,product_prod(U_452,U_450)),product_Pair(U_452,U_450),U_442),U_441))) )
    & ! [U_451,U_449,U_447] :
        ( hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,hAPP(U_449,product_prod(U_451,U_449),hAPP(U_451,fun(U_449,product_prod(U_451,U_449)),product_Pair(U_451,U_449),sK49(U_451,U_449,U_447)),sK50(U_451,U_449,U_447))))
        | ! [U_438] : ~ hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,U_438)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK51]),skolemize(U_443,sK51(U_452,U_450,U_448))],[f_184_5]) ).

cnf(f_184_7,plain,
    ( hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,hAPP(U_449,product_prod(U_451,U_449),hAPP(U_451,fun(U_449,product_prod(U_451,U_449)),product_Pair(U_451,U_449),sK49(U_451,U_449,U_447)),sK50(U_451,U_449,U_447))))
    | ~ hBOOL(hAPP(product_prod(U_451,U_449),bool,U_447,U_438)) ),
    inference(clausify,[status(thm)],[f_184_6]) ).

cnf(f_184_8,plain,
    ( hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,sK51(U_452,U_450,U_448)))
    | ~ hBOOL(hAPP(product_prod(U_452,U_450),bool,U_448,hAPP(U_450,product_prod(U_452,U_450),hAPP(U_452,fun(U_450,product_prod(U_452,U_450)),product_Pair(U_452,U_450),U_442),U_441))) ),
    inference(clausify,[status(thm)],[f_184_6]) ).

fof(f_185_1,plain,
    ! [X_b,X_c,X_a,C,A_1,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),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_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),C,A_1),B),
    inference(fof_nnf,[status(thm)],[fact_37_internal__split__conv]) ).

fof(f_185_2,plain,
    ! [U_458,U_457,U_456,U_455,U_454,U_453] : hAPP(product_prod(U_458,U_457),U_456,hAPP(fun(U_458,fun(U_457,U_456)),fun(product_prod(U_458,U_457),U_456),produc1605651328_split(U_458,U_457,U_456),U_455),hAPP(U_457,product_prod(U_458,U_457),hAPP(U_458,fun(U_457,product_prod(U_458,U_457)),product_Pair(U_458,U_457),U_454),U_453)) = hAPP(U_457,U_456,hAPP(U_458,fun(U_457,U_456),U_455,U_454),U_453),
    inference(variable_rename,[status(thm)],[f_185_1]) ).

cnf(f_185_3,plain,
    hAPP(product_prod(U_458,U_457),U_456,hAPP(fun(U_458,fun(U_457,U_456)),fun(product_prod(U_458,U_457),U_456),produc1605651328_split(U_458,U_457,U_456),U_455),hAPP(U_457,product_prod(U_458,U_457),hAPP(U_458,fun(U_457,product_prod(U_458,U_457)),product_Pair(U_458,U_457),U_454),U_453)) = hAPP(U_457,U_456,hAPP(U_458,fun(U_457,U_456),U_455,U_454),U_453),
    inference(clausify,[status(thm)],[f_185_2]) ).

fof(f_186_1,plain,
    ! [X_a,T_3,P,S_6,U_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_6),T_3))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),U_1),T_3))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),S_6),U_1)) ),
    inference(fof_nnf,[status(thm)],[fact_38_widen__trans]) ).

fof(f_186_2,plain,
    ! [U_463,U_462,U_461,U_460,U_459] :
      ( 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_460),U_462))
      | ~ 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_459),U_462))
      | ~ 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_460),U_459)) ),
    inference(variable_rename,[status(thm)],[f_186_1]) ).

cnf(f_186_3,plain,
    ( 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_460),U_462))
    | ~ 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_459),U_462))
    | ~ 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,U_463)))))))),fun(ty,fun(ty,bool)),widen(U_463),U_461),U_460),U_459)) ),
    inference(clausify,[status(thm)],[f_186_2]) ).

fof(f_187_1,plain,
    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_1,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    inference(fof_nnf,[status(thm)],[fact_39_InitBlockRed_I5_J]) ).

cnf(f_187_2,plain,
    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_1,p),ha),e),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),v_1),t_1),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),v_1),hAPP(val,exp(list(char)),val_1(list(char)),v))),ea))),t)),
    inference(clausify,[status(thm)],[f_187_1]) ).

fof(f_188_1,plain,
    ! [Pa,Ea,S] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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))),Ea))),S)) )
      & ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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))),Ea))),S))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S)) ) ),
    inference(fof_nnf,[status(thm)],[fact_40_sconf__def]) ).

fof(f_188_2,plain,
    ! [U_466,U_465,U_464] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_466),U_465),U_464))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_466)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_466))),U_465))),U_464)) )
      & ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_466)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_466))),U_465))),U_464))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_466),U_465),U_464)) ) ),
    inference(variable_rename,[status(thm)],[f_188_1]) ).

fof(f_188_3,plain,
    ( ! [U_472,U_470,U_468] :
        ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_472),U_470),U_468))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_472)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_472))),U_470))),U_468)) )
    & ! [U_471,U_469,U_467] :
        ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_471)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_471))),U_469))),U_467))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_471),U_469),U_467)) ) ),
    inference(miniscope,[status(thm)],[f_188_2]) ).

cnf(f_188_4,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_471)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_471))),U_469))),U_467))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_471),U_469),U_467)) ),
    inference(clausify,[status(thm)],[f_188_3]) ).

cnf(f_188_5,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_472),U_470),U_468))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),product_prod_case(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)),bool),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combs(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool))),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)))),combb(fun(bool,bool),fun(fun(fun(list(char),option(val)),bool),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combb(bool,bool,fun(list(char),option(val)))),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(bool,bool))),combb(bool,fun(bool,bool),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),fconj),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),U_472)))),hAPP(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool)),hAPP(fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(fun(list(char),option(ty)),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),bool))),combc(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),hAPP(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),hAPP(fun(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool))),fun(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))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)))),combb(fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),fun(fun(list(char),option(ty)),fun(fun(list(char),option(val)),bool)),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),combc(fun(list(char),option(val)),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)))),U_472))),U_470))),U_468)) ),
    inference(clausify,[status(thm)],[f_188_3]) ).

fof(f_189_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,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,Hb),H_b))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_41_red__hext__incr]) ).

fof(f_189_2,plain,
    ! [U_479,U_478,U_477,U_476,U_475,U_474,U_473] :
      ( 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,U_478),U_475))
      | ~ 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)))),U_479),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))),U_478),U_477))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_476),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))),U_475),U_474)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_473))) ),
    inference(variable_rename,[status(thm)],[f_189_1]) ).

fof(f_189_3,plain,
    ! [U_479,U_478,U_477,U_476,U_475] :
      ( ! [U_474,U_473] : ~ 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)))),U_479),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))),U_478),U_477))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_476),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))),U_475),U_474)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_473)))
      | 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,U_478),U_475)) ),
    inference(miniscope,[status(thm)],[f_189_2]) ).

cnf(f_189_4,plain,
    ( ~ 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)))),U_479),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))),U_478),U_477))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_476),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))),U_475),U_474)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_473)))
    | 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,U_478),U_475)) ),
    inference(clausify,[status(thm)],[f_189_3]) ).

fof(f_190_1,plain,
    ! [X_b,X_c,X_a,X_2,Xa,Xb] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),X_2),Xa),Xb) = hAPP(product_prod(X_a,X_b),X_c,X_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),Xa),Xb)),
    inference(fof_nnf,[status(thm)],[fact_42_curry__def]) ).

fof(f_190_2,plain,
    ! [U_485,U_484,U_483,U_482,U_481,U_480] : hAPP(U_485,U_484,hAPP(U_483,fun(U_485,U_484),hAPP(fun(product_prod(U_483,U_485),U_484),fun(U_483,fun(U_485,U_484)),product_curry(U_483,U_485,U_484),U_482),U_481),U_480) = hAPP(product_prod(U_483,U_485),U_484,U_482,hAPP(U_485,product_prod(U_483,U_485),hAPP(U_483,fun(U_485,product_prod(U_483,U_485)),product_Pair(U_483,U_485),U_481),U_480)),
    inference(variable_rename,[status(thm)],[f_190_1]) ).

cnf(f_190_3,plain,
    hAPP(U_485,U_484,hAPP(U_483,fun(U_485,U_484),hAPP(fun(product_prod(U_483,U_485),U_484),fun(U_483,fun(U_485,U_484)),product_curry(U_483,U_485,U_484),U_482),U_481),U_480) = hAPP(product_prod(U_483,U_485),U_484,U_482,hAPP(U_485,product_prod(U_483,U_485),hAPP(U_483,fun(U_485,product_prod(U_483,U_485)),product_Pair(U_483,U_485),U_481),U_480)),
    inference(clausify,[status(thm)],[f_190_2]) ).

fof(f_191_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),E_b),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b))))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),Eb),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb))))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_43_red__preserves__defass]) ).

fof(f_191_2,plain,
    ! [U_492,U_491,U_490,U_489,U_488,U_487,U_486] :
      ( hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_489),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_487))))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_492),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_490))))
      | ~ 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)))),U_492),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))),U_491),U_490))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_489),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))),U_488),U_487)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_486)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_486)) ),
    inference(variable_rename,[status(thm)],[f_191_1]) ).

cnf(f_191_3,plain,
    ( hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_489),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_487))))
    | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_492),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_490))))
    | ~ 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)))),U_492),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))),U_491),U_490))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_489),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))),U_488),U_487)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_486)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_486)) ),
    inference(clausify,[status(thm)],[f_191_2]) ).

fof(f_192_1,plain,
    ! [X_a,A_1,A_4] :
      ( ( hAPP(X_a,option(X_a),some(X_a),A_1) = hAPP(X_a,option(X_a),some(X_a),A_4)
        | ti(X_a,A_1) != ti(X_a,A_4) )
      & ( ti(X_a,A_1) = ti(X_a,A_4)
        | hAPP(X_a,option(X_a),some(X_a),A_1) != hAPP(X_a,option(X_a),some(X_a),A_4) ) ),
    inference(fof_nnf,[status(thm)],[fact_44_option_Oinject]) ).

fof(f_192_2,plain,
    ! [U_495,U_494,U_493] :
      ( ( hAPP(U_495,option(U_495),some(U_495),U_494) = hAPP(U_495,option(U_495),some(U_495),U_493)
        | ti(U_495,U_494) != ti(U_495,U_493) )
      & ( ti(U_495,U_494) = ti(U_495,U_493)
        | hAPP(U_495,option(U_495),some(U_495),U_494) != hAPP(U_495,option(U_495),some(U_495),U_493) ) ),
    inference(variable_rename,[status(thm)],[f_192_1]) ).

fof(f_192_3,plain,
    ( ! [U_501,U_499,U_497] :
        ( hAPP(U_501,option(U_501),some(U_501),U_499) = hAPP(U_501,option(U_501),some(U_501),U_497)
        | ti(U_501,U_499) != ti(U_501,U_497) )
    & ! [U_500,U_498,U_496] :
        ( ti(U_500,U_498) = ti(U_500,U_496)
        | hAPP(U_500,option(U_500),some(U_500),U_498) != hAPP(U_500,option(U_500),some(U_500),U_496) ) ),
    inference(miniscope,[status(thm)],[f_192_2]) ).

cnf(f_192_4,plain,
    ( ti(U_500,U_498) = ti(U_500,U_496)
    | hAPP(U_500,option(U_500),some(U_500),U_498) != hAPP(U_500,option(U_500),some(U_500),U_496) ),
    inference(clausify,[status(thm)],[f_192_3]) ).

cnf(f_192_5,plain,
    ( hAPP(U_501,option(U_501),some(U_501),U_499) = hAPP(U_501,option(U_501),some(U_501),U_497)
    | ti(U_501,U_499) != ti(U_501,U_497) ),
    inference(clausify,[status(thm)],[f_192_3]) ).

fof(f_193_1,plain,
    ! [X_a,X_b,F,A_1,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_1),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_1),B))) ),
    inference(fof_nnf,[status(thm)],[fact_45_curryI]) ).

fof(f_193_2,plain,
    ! [U_506,U_505,U_504,U_503,U_502] :
      ( hBOOL(hAPP(U_505,bool,hAPP(U_506,fun(U_505,bool),hAPP(fun(product_prod(U_506,U_505),bool),fun(U_506,fun(U_505,bool)),product_curry(U_506,U_505,bool),U_504),U_503),U_502))
      | ~ hBOOL(hAPP(product_prod(U_506,U_505),bool,U_504,hAPP(U_505,product_prod(U_506,U_505),hAPP(U_506,fun(U_505,product_prod(U_506,U_505)),product_Pair(U_506,U_505),U_503),U_502))) ),
    inference(variable_rename,[status(thm)],[f_193_1]) ).

cnf(f_193_3,plain,
    ( hBOOL(hAPP(U_505,bool,hAPP(U_506,fun(U_505,bool),hAPP(fun(product_prod(U_506,U_505),bool),fun(U_506,fun(U_505,bool)),product_curry(U_506,U_505,bool),U_504),U_503),U_502))
    | ~ hBOOL(hAPP(product_prod(U_506,U_505),bool,U_504,hAPP(U_505,product_prod(U_506,U_505),hAPP(U_506,fun(U_505,product_prod(U_506,U_505)),product_Pair(U_506,U_505),U_503),U_502))) ),
    inference(clausify,[status(thm)],[f_193_2]) ).

fof(f_194_1,plain,
    ! [L_0,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),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),Lb)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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_b))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_46_red__lcl__add]) ).

fof(f_194_2,plain,
    ! [U_514,U_513,U_512,U_511,U_510,U_509,U_508,U_507] :
      ( 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)))),U_513),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))),U_512),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),U_514),U_511)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_510),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))),U_509),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),U_514),U_508))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_507)))
      | ~ 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)))),U_513),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))),U_512),U_511))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_510),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))),U_509),U_508)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_507))) ),
    inference(variable_rename,[status(thm)],[f_194_1]) ).

cnf(f_194_3,plain,
    ( 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)))),U_513),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))),U_512),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),U_514),U_511)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_510),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))),U_509),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),U_514),U_508))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_507)))
    | ~ 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)))),U_513),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))),U_512),U_511))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_510),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))),U_509),U_508)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_507))) ),
    inference(clausify,[status(thm)],[f_194_2]) ).

fof(f_195_1,plain,
    ! [X_a,Va_1,Va,Ta,Pa,Hb,Lb,Ea] :
      ( 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),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))),Ea))
      | hAPP(list(char),option(ty),Ea,Va_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),Hb),Va),Ta))
      | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Hb),Lb),Ea)) ),
    inference(fof_nnf,[status(thm)],[fact_47_lconf__upd]) ).

fof(f_195_2,plain,
    ! [U_522,U_521,U_520,U_519,U_518,U_517,U_516,U_515] :
      ( 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,U_522)))))))),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(U_522),U_518),U_517),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_516),U_521),hAPP(val,option(val),some(val),U_520))),U_515))
      | hAPP(list(char),option(ty),U_515,U_521) != hAPP(ty,option(ty),some(ty),U_519)
      | ~ 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,U_522)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_522),U_518),U_517),U_520),U_519))
      | ~ 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,U_522)))))))),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(U_522),U_518),U_517),U_516),U_515)) ),
    inference(variable_rename,[status(thm)],[f_195_1]) ).

cnf(f_195_3,plain,
    ( 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,U_522)))))))),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(U_522),U_518),U_517),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_516),U_521),hAPP(val,option(val),some(val),U_520))),U_515))
    | hAPP(list(char),option(ty),U_515,U_521) != hAPP(ty,option(ty),some(ty),U_519)
    | ~ 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,U_522)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_522),U_518),U_517),U_520),U_519))
    | ~ 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,U_522)))))))),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(U_522),U_518),U_517),U_516),U_515)) ),
    inference(clausify,[status(thm)],[f_195_2]) ).

fof(f_196_1,plain,
    ! [X_a,Va_1,Va,Ta,Pa,Hb,Lb,Ea] :
      ( 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),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_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),Hb),Va),Ta))
      | ~ hBOOL(hAPP(fun(list(char),option(ty)),bool,hAPP(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),fun(fun(list(char),option(ty)),bool))),lconf(X_a),Pa),Hb),Lb),Ea)) ),
    inference(fof_nnf,[status(thm)],[fact_48_lconf__upd2]) ).

fof(f_196_2,plain,
    ! [U_530,U_529,U_528,U_527,U_526,U_525,U_524,U_523] :
      ( 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,U_530)))))))),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(U_530),U_526),U_525),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_524),U_529),hAPP(val,option(val),some(val),U_528))),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_523),U_529),hAPP(ty,option(ty),some(ty),U_527))))
      | ~ 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,U_530)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_530),U_526),U_525),U_528),U_527))
      | ~ 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,U_530)))))))),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(U_530),U_526),U_525),U_524),U_523)) ),
    inference(variable_rename,[status(thm)],[f_196_1]) ).

cnf(f_196_3,plain,
    ( 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,U_530)))))))),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(U_530),U_526),U_525),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_524),U_529),hAPP(val,option(val),some(val),U_528))),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_523),U_529),hAPP(ty,option(ty),some(ty),U_527))))
    | ~ 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,U_530)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_530),U_526),U_525),U_528),U_527))
    | ~ 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,U_530)))))))),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(U_530),U_526),U_525),U_524),U_523)) ),
    inference(clausify,[status(thm)],[f_196_2]) ).

fof(f_197_1,plain,
    ! [X_a,X_b,A_1,B,A_4,B_4,R_2,S] :
      ( ( 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)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4))),hAPP(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool)),lex_prod(X_a,X_b),R_2),S)))
        | ( ( ~ hBOOL(hAPP(fun(product_prod(X_b,X_b),bool),bool,hAPP(product_prod(X_b,X_b),fun(fun(product_prod(X_b,X_b),bool),bool),member(product_prod(X_b,X_b)),hAPP(X_b,product_prod(X_b,X_b),hAPP(X_b,fun(X_b,product_prod(X_b,X_b)),product_Pair(X_b,X_b),B),B_4)),S))
            | ti(X_a,A_1) != ti(X_a,A_4) )
          & ~ 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_1),A_4)),R_2)) ) )
      & ( ( hBOOL(hAPP(fun(product_prod(X_b,X_b),bool),bool,hAPP(product_prod(X_b,X_b),fun(fun(product_prod(X_b,X_b),bool),bool),member(product_prod(X_b,X_b)),hAPP(X_b,product_prod(X_b,X_b),hAPP(X_b,fun(X_b,product_prod(X_b,X_b)),product_Pair(X_b,X_b),B),B_4)),S))
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | 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_1),A_4)),R_2))
        | ~ 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)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_4),B_4))),hAPP(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool)),lex_prod(X_a,X_b),R_2),S))) ) ),
    inference(fof_nnf,[status(thm)],[fact_49_in__lex__prod]) ).

fof(f_197_2,plain,
    ! [U_538,U_537,U_536,U_535,U_534,U_533,U_532,U_531] :
      ( ( hBOOL(hAPP(fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),bool,hAPP(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),fun(fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),bool),member(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537))),hAPP(product_prod(U_538,U_537),product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),hAPP(product_prod(U_538,U_537),fun(product_prod(U_538,U_537),product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537))),product_Pair(product_prod(U_538,U_537),product_prod(U_538,U_537)),hAPP(U_537,product_prod(U_538,U_537),hAPP(U_538,fun(U_537,product_prod(U_538,U_537)),product_Pair(U_538,U_537),U_536),U_535)),hAPP(U_537,product_prod(U_538,U_537),hAPP(U_538,fun(U_537,product_prod(U_538,U_537)),product_Pair(U_538,U_537),U_534),U_533))),hAPP(fun(product_prod(U_537,U_537),bool),fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),hAPP(fun(product_prod(U_538,U_538),bool),fun(fun(product_prod(U_537,U_537),bool),fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool)),lex_prod(U_538,U_537),U_532),U_531)))
        | ( ( ~ hBOOL(hAPP(fun(product_prod(U_537,U_537),bool),bool,hAPP(product_prod(U_537,U_537),fun(fun(product_prod(U_537,U_537),bool),bool),member(product_prod(U_537,U_537)),hAPP(U_537,product_prod(U_537,U_537),hAPP(U_537,fun(U_537,product_prod(U_537,U_537)),product_Pair(U_537,U_537),U_535),U_533)),U_531))
            | ti(U_538,U_536) != ti(U_538,U_534) )
          & ~ hBOOL(hAPP(fun(product_prod(U_538,U_538),bool),bool,hAPP(product_prod(U_538,U_538),fun(fun(product_prod(U_538,U_538),bool),bool),member(product_prod(U_538,U_538)),hAPP(U_538,product_prod(U_538,U_538),hAPP(U_538,fun(U_538,product_prod(U_538,U_538)),product_Pair(U_538,U_538),U_536),U_534)),U_532)) ) )
      & ( ( hBOOL(hAPP(fun(product_prod(U_537,U_537),bool),bool,hAPP(product_prod(U_537,U_537),fun(fun(product_prod(U_537,U_537),bool),bool),member(product_prod(U_537,U_537)),hAPP(U_537,product_prod(U_537,U_537),hAPP(U_537,fun(U_537,product_prod(U_537,U_537)),product_Pair(U_537,U_537),U_535),U_533)),U_531))
          & ti(U_538,U_536) = ti(U_538,U_534) )
        | hBOOL(hAPP(fun(product_prod(U_538,U_538),bool),bool,hAPP(product_prod(U_538,U_538),fun(fun(product_prod(U_538,U_538),bool),bool),member(product_prod(U_538,U_538)),hAPP(U_538,product_prod(U_538,U_538),hAPP(U_538,fun(U_538,product_prod(U_538,U_538)),product_Pair(U_538,U_538),U_536),U_534)),U_532))
        | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),bool,hAPP(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),fun(fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),bool),member(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537))),hAPP(product_prod(U_538,U_537),product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),hAPP(product_prod(U_538,U_537),fun(product_prod(U_538,U_537),product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537))),product_Pair(product_prod(U_538,U_537),product_prod(U_538,U_537)),hAPP(U_537,product_prod(U_538,U_537),hAPP(U_538,fun(U_537,product_prod(U_538,U_537)),product_Pair(U_538,U_537),U_536),U_535)),hAPP(U_537,product_prod(U_538,U_537),hAPP(U_538,fun(U_537,product_prod(U_538,U_537)),product_Pair(U_538,U_537),U_534),U_533))),hAPP(fun(product_prod(U_537,U_537),bool),fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool),hAPP(fun(product_prod(U_538,U_538),bool),fun(fun(product_prod(U_537,U_537),bool),fun(product_prod(product_prod(U_538,U_537),product_prod(U_538,U_537)),bool)),lex_prod(U_538,U_537),U_532),U_531))) ) ),
    inference(variable_rename,[status(thm)],[f_197_1]) ).

fof(f_197_3,plain,
    ( ! [U_554,U_552,U_550,U_548,U_546,U_544,U_542,U_540] :
        ( hBOOL(hAPP(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool,hAPP(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),fun(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool),member(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),hAPP(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(product_prod(U_554,U_552),fun(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),product_Pair(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_550),U_548)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_546),U_544))),hAPP(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),hAPP(fun(product_prod(U_554,U_554),bool),fun(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool)),lex_prod(U_554,U_552),U_542),U_540)))
        | ( ( ~ hBOOL(hAPP(fun(product_prod(U_552,U_552),bool),bool,hAPP(product_prod(U_552,U_552),fun(fun(product_prod(U_552,U_552),bool),bool),member(product_prod(U_552,U_552)),hAPP(U_552,product_prod(U_552,U_552),hAPP(U_552,fun(U_552,product_prod(U_552,U_552)),product_Pair(U_552,U_552),U_548),U_544)),U_540))
            | ti(U_554,U_550) != ti(U_554,U_546) )
          & ~ hBOOL(hAPP(fun(product_prod(U_554,U_554),bool),bool,hAPP(product_prod(U_554,U_554),fun(fun(product_prod(U_554,U_554),bool),bool),member(product_prod(U_554,U_554)),hAPP(U_554,product_prod(U_554,U_554),hAPP(U_554,fun(U_554,product_prod(U_554,U_554)),product_Pair(U_554,U_554),U_550),U_546)),U_542)) ) )
    & ! [U_553,U_551,U_549,U_547,U_545,U_543,U_541,U_539] :
        ( ( hBOOL(hAPP(fun(product_prod(U_551,U_551),bool),bool,hAPP(product_prod(U_551,U_551),fun(fun(product_prod(U_551,U_551),bool),bool),member(product_prod(U_551,U_551)),hAPP(U_551,product_prod(U_551,U_551),hAPP(U_551,fun(U_551,product_prod(U_551,U_551)),product_Pair(U_551,U_551),U_547),U_543)),U_539))
          & ti(U_553,U_549) = ti(U_553,U_545) )
        | hBOOL(hAPP(fun(product_prod(U_553,U_553),bool),bool,hAPP(product_prod(U_553,U_553),fun(fun(product_prod(U_553,U_553),bool),bool),member(product_prod(U_553,U_553)),hAPP(U_553,product_prod(U_553,U_553),hAPP(U_553,fun(U_553,product_prod(U_553,U_553)),product_Pair(U_553,U_553),U_549),U_545)),U_541))
        | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool,hAPP(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),fun(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool),member(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),hAPP(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(product_prod(U_553,U_551),fun(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),product_Pair(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_549),U_547)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_545),U_543))),hAPP(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),hAPP(fun(product_prod(U_553,U_553),bool),fun(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool)),lex_prod(U_553,U_551),U_541),U_539))) ) ),
    inference(miniscope,[status(thm)],[f_197_2]) ).

cnf(f_197_4,plain,
    ( ti(U_553,U_549) = ti(U_553,U_545)
    | hBOOL(hAPP(fun(product_prod(U_553,U_553),bool),bool,hAPP(product_prod(U_553,U_553),fun(fun(product_prod(U_553,U_553),bool),bool),member(product_prod(U_553,U_553)),hAPP(U_553,product_prod(U_553,U_553),hAPP(U_553,fun(U_553,product_prod(U_553,U_553)),product_Pair(U_553,U_553),U_549),U_545)),U_541))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool,hAPP(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),fun(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool),member(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),hAPP(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(product_prod(U_553,U_551),fun(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),product_Pair(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_549),U_547)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_545),U_543))),hAPP(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),hAPP(fun(product_prod(U_553,U_553),bool),fun(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool)),lex_prod(U_553,U_551),U_541),U_539))) ),
    inference(clausify,[status(thm)],[f_197_3]) ).

cnf(f_197_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_551,U_551),bool),bool,hAPP(product_prod(U_551,U_551),fun(fun(product_prod(U_551,U_551),bool),bool),member(product_prod(U_551,U_551)),hAPP(U_551,product_prod(U_551,U_551),hAPP(U_551,fun(U_551,product_prod(U_551,U_551)),product_Pair(U_551,U_551),U_547),U_543)),U_539))
    | hBOOL(hAPP(fun(product_prod(U_553,U_553),bool),bool,hAPP(product_prod(U_553,U_553),fun(fun(product_prod(U_553,U_553),bool),bool),member(product_prod(U_553,U_553)),hAPP(U_553,product_prod(U_553,U_553),hAPP(U_553,fun(U_553,product_prod(U_553,U_553)),product_Pair(U_553,U_553),U_549),U_545)),U_541))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool,hAPP(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),fun(fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),bool),member(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),hAPP(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(product_prod(U_553,U_551),fun(product_prod(U_553,U_551),product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551))),product_Pair(product_prod(U_553,U_551),product_prod(U_553,U_551)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_549),U_547)),hAPP(U_551,product_prod(U_553,U_551),hAPP(U_553,fun(U_551,product_prod(U_553,U_551)),product_Pair(U_553,U_551),U_545),U_543))),hAPP(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool),hAPP(fun(product_prod(U_553,U_553),bool),fun(fun(product_prod(U_551,U_551),bool),fun(product_prod(product_prod(U_553,U_551),product_prod(U_553,U_551)),bool)),lex_prod(U_553,U_551),U_541),U_539))) ),
    inference(clausify,[status(thm)],[f_197_3]) ).

cnf(f_197_6,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_554,U_554),bool),bool,hAPP(product_prod(U_554,U_554),fun(fun(product_prod(U_554,U_554),bool),bool),member(product_prod(U_554,U_554)),hAPP(U_554,product_prod(U_554,U_554),hAPP(U_554,fun(U_554,product_prod(U_554,U_554)),product_Pair(U_554,U_554),U_550),U_546)),U_542))
    | hBOOL(hAPP(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool,hAPP(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),fun(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool),member(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),hAPP(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(product_prod(U_554,U_552),fun(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),product_Pair(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_550),U_548)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_546),U_544))),hAPP(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),hAPP(fun(product_prod(U_554,U_554),bool),fun(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool)),lex_prod(U_554,U_552),U_542),U_540))) ),
    inference(clausify,[status(thm)],[f_197_3]) ).

cnf(f_197_7,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_552,U_552),bool),bool,hAPP(product_prod(U_552,U_552),fun(fun(product_prod(U_552,U_552),bool),bool),member(product_prod(U_552,U_552)),hAPP(U_552,product_prod(U_552,U_552),hAPP(U_552,fun(U_552,product_prod(U_552,U_552)),product_Pair(U_552,U_552),U_548),U_544)),U_540))
    | ti(U_554,U_550) != ti(U_554,U_546)
    | hBOOL(hAPP(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool,hAPP(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),fun(fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),bool),member(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),hAPP(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(product_prod(U_554,U_552),fun(product_prod(U_554,U_552),product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552))),product_Pair(product_prod(U_554,U_552),product_prod(U_554,U_552)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_550),U_548)),hAPP(U_552,product_prod(U_554,U_552),hAPP(U_554,fun(U_552,product_prod(U_554,U_552)),product_Pair(U_554,U_552),U_546),U_544))),hAPP(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool),hAPP(fun(product_prod(U_554,U_554),bool),fun(fun(product_prod(U_552,U_552),bool),fun(product_prod(product_prod(U_554,U_552),product_prod(U_554,U_552)),bool)),lex_prod(U_554,U_552),U_542),U_540))) ),
    inference(clausify,[status(thm)],[f_197_3]) ).

fof(f_198_1,plain,
    ! [X_b,X_a,F1_1,A_1,B] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),F1_1),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B)))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F1_1,A_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_50_prod__caseI]) ).

fof(f_198_2,plain,
    ! [U_559,U_558,U_557,U_556,U_555] :
      ( hBOOL(hAPP(product_prod(U_558,U_559),bool,hAPP(fun(U_558,fun(U_559,bool)),fun(product_prod(U_558,U_559),bool),product_prod_case(U_558,U_559,bool),U_557),hAPP(U_559,product_prod(U_558,U_559),hAPP(U_558,fun(U_559,product_prod(U_558,U_559)),product_Pair(U_558,U_559),U_556),U_555)))
      | ~ hBOOL(hAPP(U_559,bool,hAPP(U_558,fun(U_559,bool),U_557,U_556),U_555)) ),
    inference(variable_rename,[status(thm)],[f_198_1]) ).

cnf(f_198_3,plain,
    ( hBOOL(hAPP(product_prod(U_558,U_559),bool,hAPP(fun(U_558,fun(U_559,bool)),fun(product_prod(U_558,U_559),bool),product_prod_case(U_558,U_559,bool),U_557),hAPP(U_559,product_prod(U_558,U_559),hAPP(U_558,fun(U_559,product_prod(U_558,U_559)),product_Pair(U_558,U_559),U_556),U_555)))
    | ~ hBOOL(hAPP(U_559,bool,hAPP(U_558,fun(U_559,bool),U_557,U_556),U_555)) ),
    inference(clausify,[status(thm)],[f_198_2]) ).

fof(f_199_1,plain,
    ! [X_b,X_a,F,A_1,B] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(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_1),B)))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,A_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_51_splitI]) ).

fof(f_199_2,plain,
    ! [U_564,U_563,U_562,U_561,U_560] :
      ( hBOOL(hAPP(product_prod(U_563,U_564),bool,hAPP(fun(U_563,fun(U_564,bool)),fun(product_prod(U_563,U_564),bool),product_prod_case(U_563,U_564,bool),U_562),hAPP(U_564,product_prod(U_563,U_564),hAPP(U_563,fun(U_564,product_prod(U_563,U_564)),product_Pair(U_563,U_564),U_561),U_560)))
      | ~ hBOOL(hAPP(U_564,bool,hAPP(U_563,fun(U_564,bool),U_562,U_561),U_560)) ),
    inference(variable_rename,[status(thm)],[f_199_1]) ).

cnf(f_199_3,plain,
    ( hBOOL(hAPP(product_prod(U_563,U_564),bool,hAPP(fun(U_563,fun(U_564,bool)),fun(product_prod(U_563,U_564),bool),product_prod_case(U_563,U_564,bool),U_562),hAPP(U_564,product_prod(U_563,U_564),hAPP(U_563,fun(U_564,product_prod(U_563,U_564)),product_Pair(U_563,U_564),U_561),U_560)))
    | ~ hBOOL(hAPP(U_564,bool,hAPP(U_563,fun(U_564,bool),U_562,U_561),U_560)) ),
    inference(clausify,[status(thm)],[f_199_2]) ).

fof(f_200_1,plain,
    ! [X_a,Pa,Va,Ta,Hb,H_b] :
      ( 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_b),Va),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),Hb),Va),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,Hb),H_b)) ),
    inference(fof_nnf,[status(thm)],[fact_52_conf__hext]) ).

fof(f_200_2,plain,
    ! [U_570,U_569,U_568,U_567,U_566,U_565] :
      ( 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,U_570)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_570),U_569),U_565),U_568),U_567))
      | ~ 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,U_570)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_570),U_569),U_566),U_568),U_567))
      | ~ 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,U_566),U_565)) ),
    inference(variable_rename,[status(thm)],[f_200_1]) ).

cnf(f_200_3,plain,
    ( 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,U_570)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_570),U_569),U_565),U_568),U_567))
    | ~ 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,U_570)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_570),U_569),U_566),U_568),U_567))
    | ~ 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,U_566),U_565)) ),
    inference(clausify,[status(thm)],[f_200_2]) ).

fof(f_201_1,plain,
    ! [X_a,Pa,Fs_2,X_1,Ta,Hb,A_1,C_1,Fs] :
      ( ( ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))),X_1),Ta))
          | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),X_1),Ta)) )
        & ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),X_1),Ta))
          | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))),X_1),Ta)) ) )
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)) ),
    inference(fof_nnf,[status(thm)],[fact_53_conf__upd__obj]) ).

fof(f_201_2,plain,
    ! [U_579,U_578,U_577,U_576,U_575,U_574,U_573,U_572,U_571] :
      ( ( ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575))
          | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575)) )
        & ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575))
          | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575)) ) )
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_574,U_573) != 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))),U_572),U_571)) ),
    inference(variable_rename,[status(thm)],[f_201_1]) ).

fof(f_201_3,plain,
    ! [U_579,U_578,U_577,U_576,U_575,U_574,U_573,U_572] :
      ( ! [U_571] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_574,U_573) != 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))),U_572),U_571))
      | ( ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575))
          | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575)) )
        & ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575))
          | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575)) ) ) ),
    inference(miniscope,[status(thm)],[f_201_2]) ).

cnf(f_201_4,plain,
    ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575))
    | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_574,U_573) != 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))),U_572),U_571)) ),
    inference(clausify,[status(thm)],[f_201_3]) ).

cnf(f_201_5,plain,
    ( 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_574),U_573),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))),U_572),U_577)))),U_576),U_575))
    | ~ 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,U_579)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_579),U_578),U_574),U_576),U_575))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_574,U_573) != 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))),U_572),U_571)) ),
    inference(clausify,[status(thm)],[f_201_3]) ).

fof(f_202_1,plain,
    ! [X_a,X_b,L1,M_1,L2] :
      ( hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L2,M_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L2))) ),
    inference(fof_nnf,[status(thm)],[fact_54_map__add__dom__app__simps_I1_J]) ).

fof(f_202_2,plain,
    ! [U_584,U_583,U_582,U_581,U_580] :
      ( hAPP(U_584,option(U_583),hAPP(fun(U_584,option(U_583)),fun(U_584,option(U_583)),hAPP(fun(U_584,option(U_583)),fun(fun(U_584,option(U_583)),fun(U_584,option(U_583))),map_add(U_584,U_583),U_582),U_580),U_581) = hAPP(U_584,option(U_583),U_580,U_581)
      | ~ hBOOL(hAPP(fun(U_584,bool),bool,hAPP(U_584,fun(fun(U_584,bool),bool),member(U_584),U_581),hAPP(fun(U_584,option(U_583)),fun(U_584,bool),dom(U_584,U_583),U_580))) ),
    inference(variable_rename,[status(thm)],[f_202_1]) ).

cnf(f_202_3,plain,
    ( hAPP(U_584,option(U_583),hAPP(fun(U_584,option(U_583)),fun(U_584,option(U_583)),hAPP(fun(U_584,option(U_583)),fun(fun(U_584,option(U_583)),fun(U_584,option(U_583))),map_add(U_584,U_583),U_582),U_580),U_581) = hAPP(U_584,option(U_583),U_580,U_581)
    | ~ hBOOL(hAPP(fun(U_584,bool),bool,hAPP(U_584,fun(fun(U_584,bool),bool),member(U_584),U_581),hAPP(fun(U_584,option(U_583)),fun(U_584,bool),dom(U_584,U_583),U_580))) ),
    inference(clausify,[status(thm)],[f_202_2]) ).

fof(f_203_1,plain,
    ! [X_c,X_a,X_b,C,P_1,Q_2] :
      ( hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),C),P_1) = hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),C),Q_2)
      | ti(product_prod(X_a,X_b),P_1) != ti(product_prod(X_a,X_b),Q_2) ),
    inference(fof_nnf,[status(thm)],[fact_55_split__weak__cong]) ).

fof(f_203_2,plain,
    ! [U_590,U_589,U_588,U_587,U_586,U_585] :
      ( hAPP(product_prod(U_589,U_588),U_590,hAPP(fun(U_589,fun(U_588,U_590)),fun(product_prod(U_589,U_588),U_590),product_prod_case(U_589,U_588,U_590),U_587),U_586) = hAPP(product_prod(U_589,U_588),U_590,hAPP(fun(U_589,fun(U_588,U_590)),fun(product_prod(U_589,U_588),U_590),product_prod_case(U_589,U_588,U_590),U_587),U_585)
      | ti(product_prod(U_589,U_588),U_586) != ti(product_prod(U_589,U_588),U_585) ),
    inference(variable_rename,[status(thm)],[f_203_1]) ).

cnf(f_203_3,plain,
    ( hAPP(product_prod(U_589,U_588),U_590,hAPP(fun(U_589,fun(U_588,U_590)),fun(product_prod(U_589,U_588),U_590),product_prod_case(U_589,U_588,U_590),U_587),U_586) = hAPP(product_prod(U_589,U_588),U_590,hAPP(fun(U_589,fun(U_588,U_590)),fun(product_prod(U_589,U_588),U_590),product_prod_case(U_589,U_588,U_590),U_587),U_585)
    | ti(product_prod(U_589,U_588),U_586) != ti(product_prod(U_589,U_588),U_585) ),
    inference(clausify,[status(thm)],[f_203_2]) ).

fof(f_204_1,plain,
    ! [X_a,X_b,L1,M_1,L2] :
      ( hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L1,M_1)
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L2))) ),
    inference(fof_nnf,[status(thm)],[fact_56_map__add__dom__app__simps_I3_J]) ).

fof(f_204_2,plain,
    ! [U_595,U_594,U_593,U_592,U_591] :
      ( hAPP(U_595,option(U_594),hAPP(fun(U_595,option(U_594)),fun(U_595,option(U_594)),hAPP(fun(U_595,option(U_594)),fun(fun(U_595,option(U_594)),fun(U_595,option(U_594))),map_add(U_595,U_594),U_593),U_591),U_592) = hAPP(U_595,option(U_594),U_593,U_592)
      | hBOOL(hAPP(fun(U_595,bool),bool,hAPP(U_595,fun(fun(U_595,bool),bool),member(U_595),U_592),hAPP(fun(U_595,option(U_594)),fun(U_595,bool),dom(U_595,U_594),U_591))) ),
    inference(variable_rename,[status(thm)],[f_204_1]) ).

cnf(f_204_3,plain,
    ( hAPP(U_595,option(U_594),hAPP(fun(U_595,option(U_594)),fun(U_595,option(U_594)),hAPP(fun(U_595,option(U_594)),fun(fun(U_595,option(U_594)),fun(U_595,option(U_594))),map_add(U_595,U_594),U_593),U_591),U_592) = hAPP(U_595,option(U_594),U_593,U_592)
    | hBOOL(hAPP(fun(U_595,bool),bool,hAPP(U_595,fun(fun(U_595,bool),bool),member(U_595),U_592),hAPP(fun(U_595,option(U_594)),fun(U_595,bool),dom(U_595,U_594),U_591))) ),
    inference(clausify,[status(thm)],[f_204_2]) ).

fof(f_205_1,plain,
    ! [X_a,X_b,L2,M_1,L1] :
      ( hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),L1),L2),M_1) = hAPP(X_a,option(X_b),L2,M_1)
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),L1))) ),
    inference(fof_nnf,[status(thm)],[fact_57_map__add__dom__app__simps_I2_J]) ).

fof(f_205_2,plain,
    ! [U_600,U_599,U_598,U_597,U_596] :
      ( hAPP(U_600,option(U_599),hAPP(fun(U_600,option(U_599)),fun(U_600,option(U_599)),hAPP(fun(U_600,option(U_599)),fun(fun(U_600,option(U_599)),fun(U_600,option(U_599))),map_add(U_600,U_599),U_596),U_598),U_597) = hAPP(U_600,option(U_599),U_598,U_597)
      | hBOOL(hAPP(fun(U_600,bool),bool,hAPP(U_600,fun(fun(U_600,bool),bool),member(U_600),U_597),hAPP(fun(U_600,option(U_599)),fun(U_600,bool),dom(U_600,U_599),U_596))) ),
    inference(variable_rename,[status(thm)],[f_205_1]) ).

cnf(f_205_3,plain,
    ( hAPP(U_600,option(U_599),hAPP(fun(U_600,option(U_599)),fun(U_600,option(U_599)),hAPP(fun(U_600,option(U_599)),fun(fun(U_600,option(U_599)),fun(U_600,option(U_599))),map_add(U_600,U_599),U_596),U_598),U_597) = hAPP(U_600,option(U_599),U_598,U_597)
    | hBOOL(hAPP(fun(U_600,bool),bool,hAPP(U_600,fun(fun(U_600,bool),bool),member(U_600),U_597),hAPP(fun(U_600,option(U_599)),fun(U_600,bool),dom(U_600,U_599),U_596))) ),
    inference(clausify,[status(thm)],[f_205_2]) ).

fof(f_206_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_58_map__add__assoc]) ).

fof(f_206_2,plain,
    ! [U_605,U_604,U_603,U_602,U_601] : hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_603),hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_602),U_601)) = hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_603),U_602)),U_601),
    inference(variable_rename,[status(thm)],[f_206_1]) ).

cnf(f_206_3,plain,
    hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_603),hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_602),U_601)) = hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),hAPP(fun(U_605,option(U_604)),fun(U_605,option(U_604)),hAPP(fun(U_605,option(U_604)),fun(fun(U_605,option(U_604)),fun(U_605,option(U_604))),map_add(U_605,U_604),U_603),U_602)),U_601),
    inference(clausify,[status(thm)],[f_206_2]) ).

fof(f_207_1,plain,
    ! [X_b,X_c,X_a,X_d,X_e,F,G,P_1] : 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_case(X_b,X_c,X_a),F),hAPP(product_prod(X_d,X_e),product_prod(X_b,X_c),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(product_prod(X_d,X_e),product_prod(X_b,X_c)),product_prod_case(X_d,X_e,product_prod(X_b,X_c)),G),P_1)) = hAPP(product_prod(X_d,X_e),X_a,hAPP(fun(X_d,fun(X_e,X_a)),fun(product_prod(X_d,X_e),X_a),product_prod_case(X_d,X_e,X_a),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a)),hAPP(fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),fun(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a))),combb(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a),X_d),hAPP(fun(product_prod(X_b,X_c),X_a),fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),combb(product_prod(X_b,X_c),X_a,X_e),hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F))),G)),P_1),
    inference(fof_nnf,[status(thm)],[fact_59_split__twice]) ).

fof(f_207_2,plain,
    ! [U_613,U_612,U_611,U_610,U_609,U_608,U_607,U_606] : hAPP(product_prod(U_613,U_612),U_611,hAPP(fun(U_613,fun(U_612,U_611)),fun(product_prod(U_613,U_612),U_611),product_prod_case(U_613,U_612,U_611),U_608),hAPP(product_prod(U_610,U_609),product_prod(U_613,U_612),hAPP(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(product_prod(U_610,U_609),product_prod(U_613,U_612)),product_prod_case(U_610,U_609,product_prod(U_613,U_612)),U_607),U_606)) = hAPP(product_prod(U_610,U_609),U_611,hAPP(fun(U_610,fun(U_609,U_611)),fun(product_prod(U_610,U_609),U_611),product_prod_case(U_610,U_609,U_611),hAPP(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(U_610,fun(U_609,U_611)),hAPP(fun(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611)),fun(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(U_610,fun(U_609,U_611))),combb(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611),U_610),hAPP(fun(product_prod(U_613,U_612),U_611),fun(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611)),combb(product_prod(U_613,U_612),U_611,U_609),hAPP(fun(U_613,fun(U_612,U_611)),fun(product_prod(U_613,U_612),U_611),product_prod_case(U_613,U_612,U_611),U_608))),U_607)),U_606),
    inference(variable_rename,[status(thm)],[f_207_1]) ).

cnf(f_207_3,plain,
    hAPP(product_prod(U_613,U_612),U_611,hAPP(fun(U_613,fun(U_612,U_611)),fun(product_prod(U_613,U_612),U_611),product_prod_case(U_613,U_612,U_611),U_608),hAPP(product_prod(U_610,U_609),product_prod(U_613,U_612),hAPP(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(product_prod(U_610,U_609),product_prod(U_613,U_612)),product_prod_case(U_610,U_609,product_prod(U_613,U_612)),U_607),U_606)) = hAPP(product_prod(U_610,U_609),U_611,hAPP(fun(U_610,fun(U_609,U_611)),fun(product_prod(U_610,U_609),U_611),product_prod_case(U_610,U_609,U_611),hAPP(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(U_610,fun(U_609,U_611)),hAPP(fun(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611)),fun(fun(U_610,fun(U_609,product_prod(U_613,U_612))),fun(U_610,fun(U_609,U_611))),combb(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611),U_610),hAPP(fun(product_prod(U_613,U_612),U_611),fun(fun(U_609,product_prod(U_613,U_612)),fun(U_609,U_611)),combb(product_prod(U_613,U_612),U_611,U_609),hAPP(fun(U_613,fun(U_612,U_611)),fun(product_prod(U_613,U_612),U_611),product_prod_case(U_613,U_612,U_611),U_608))),U_607)),U_606),
    inference(clausify,[status(thm)],[f_207_2]) ).

fof(f_208_1,plain,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),F)) = ti(fun(product_prod(X_a,X_b),X_c),F),
    inference(fof_nnf,[status(thm)],[fact_60_split__curry]) ).

fof(f_208_2,plain,
    ! [U_617,U_616,U_615,U_614] : hAPP(fun(U_617,fun(U_616,U_615)),fun(product_prod(U_617,U_616),U_615),product_prod_case(U_617,U_616,U_615),hAPP(fun(product_prod(U_617,U_616),U_615),fun(U_617,fun(U_616,U_615)),product_curry(U_617,U_616,U_615),U_614)) = ti(fun(product_prod(U_617,U_616),U_615),U_614),
    inference(variable_rename,[status(thm)],[f_208_1]) ).

cnf(f_208_3,plain,
    hAPP(fun(U_617,fun(U_616,U_615)),fun(product_prod(U_617,U_616),U_615),product_prod_case(U_617,U_616,U_615),hAPP(fun(product_prod(U_617,U_616),U_615),fun(U_617,fun(U_616,U_615)),product_curry(U_617,U_616,U_615),U_614)) = ti(fun(product_prod(U_617,U_616),U_615),U_614),
    inference(clausify,[status(thm)],[f_208_2]) ).

fof(f_209_1,plain,
    ! [X_a,X_b,X_c,F] : hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F)) = ti(fun(X_a,fun(X_b,X_c)),F),
    inference(fof_nnf,[status(thm)],[fact_61_curry__split]) ).

fof(f_209_2,plain,
    ! [U_621,U_620,U_619,U_618] : hAPP(fun(product_prod(U_621,U_620),U_619),fun(U_621,fun(U_620,U_619)),product_curry(U_621,U_620,U_619),hAPP(fun(U_621,fun(U_620,U_619)),fun(product_prod(U_621,U_620),U_619),product_prod_case(U_621,U_620,U_619),U_618)) = ti(fun(U_621,fun(U_620,U_619)),U_618),
    inference(variable_rename,[status(thm)],[f_209_1]) ).

cnf(f_209_3,plain,
    hAPP(fun(product_prod(U_621,U_620),U_619),fun(U_621,fun(U_620,U_619)),product_curry(U_621,U_620,U_619),hAPP(fun(U_621,fun(U_620,U_619)),fun(product_prod(U_621,U_620),U_619),product_prod_case(U_621,U_620,U_619),U_618)) = ti(fun(U_621,fun(U_620,U_619)),U_618),
    inference(clausify,[status(thm)],[f_209_2]) ).

fof(f_210_1,plain,
    ! [X_a,X_b,Pa,Q_1,X_2] :
      ( ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,bool),fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),combb(fun(X_b,bool),fun(X_b,bool),X_a),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fconj,Pa))),Q_1)),X_2))
        | ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Q_1),X_2))
        | ~ hBOOL(Pa) )
      & ( ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Q_1),X_2))
          & hBOOL(Pa) )
        | ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,bool),fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),combb(fun(X_b,bool),fun(X_b,bool),X_a),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fconj,Pa))),Q_1)),X_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_62_split__part]) ).

fof(f_210_2,plain,
    ! [U_626,U_625,U_624,U_623,U_622] :
      ( ( hBOOL(hAPP(product_prod(U_626,U_625),bool,hAPP(fun(U_626,fun(U_625,bool)),fun(product_prod(U_626,U_625),bool),product_prod_case(U_626,U_625,bool),hAPP(fun(U_626,fun(U_625,bool)),fun(U_626,fun(U_625,bool)),hAPP(fun(fun(U_625,bool),fun(U_625,bool)),fun(fun(U_626,fun(U_625,bool)),fun(U_626,fun(U_625,bool))),combb(fun(U_625,bool),fun(U_625,bool),U_626),hAPP(fun(bool,bool),fun(fun(U_625,bool),fun(U_625,bool)),combb(bool,bool,U_625),hAPP(bool,fun(bool,bool),fconj,U_624))),U_623)),U_622))
        | ~ hBOOL(hAPP(product_prod(U_626,U_625),bool,hAPP(fun(U_626,fun(U_625,bool)),fun(product_prod(U_626,U_625),bool),product_prod_case(U_626,U_625,bool),U_623),U_622))
        | ~ hBOOL(U_624) )
      & ( ( hBOOL(hAPP(product_prod(U_626,U_625),bool,hAPP(fun(U_626,fun(U_625,bool)),fun(product_prod(U_626,U_625),bool),product_prod_case(U_626,U_625,bool),U_623),U_622))
          & hBOOL(U_624) )
        | ~ hBOOL(hAPP(product_prod(U_626,U_625),bool,hAPP(fun(U_626,fun(U_625,bool)),fun(product_prod(U_626,U_625),bool),product_prod_case(U_626,U_625,bool),hAPP(fun(U_626,fun(U_625,bool)),fun(U_626,fun(U_625,bool)),hAPP(fun(fun(U_625,bool),fun(U_625,bool)),fun(fun(U_626,fun(U_625,bool)),fun(U_626,fun(U_625,bool))),combb(fun(U_625,bool),fun(U_625,bool),U_626),hAPP(fun(bool,bool),fun(fun(U_625,bool),fun(U_625,bool)),combb(bool,bool,U_625),hAPP(bool,fun(bool,bool),fconj,U_624))),U_623)),U_622)) ) ),
    inference(variable_rename,[status(thm)],[f_210_1]) ).

fof(f_210_3,plain,
    ( ! [U_636,U_634,U_632,U_630,U_628] :
        ( hBOOL(hAPP(product_prod(U_636,U_634),bool,hAPP(fun(U_636,fun(U_634,bool)),fun(product_prod(U_636,U_634),bool),product_prod_case(U_636,U_634,bool),hAPP(fun(U_636,fun(U_634,bool)),fun(U_636,fun(U_634,bool)),hAPP(fun(fun(U_634,bool),fun(U_634,bool)),fun(fun(U_636,fun(U_634,bool)),fun(U_636,fun(U_634,bool))),combb(fun(U_634,bool),fun(U_634,bool),U_636),hAPP(fun(bool,bool),fun(fun(U_634,bool),fun(U_634,bool)),combb(bool,bool,U_634),hAPP(bool,fun(bool,bool),fconj,U_632))),U_630)),U_628))
        | ~ hBOOL(hAPP(product_prod(U_636,U_634),bool,hAPP(fun(U_636,fun(U_634,bool)),fun(product_prod(U_636,U_634),bool),product_prod_case(U_636,U_634,bool),U_630),U_628))
        | ~ hBOOL(U_632) )
    & ! [U_635,U_633,U_631,U_629,U_627] :
        ( ( hBOOL(hAPP(product_prod(U_635,U_633),bool,hAPP(fun(U_635,fun(U_633,bool)),fun(product_prod(U_635,U_633),bool),product_prod_case(U_635,U_633,bool),U_629),U_627))
          & hBOOL(U_631) )
        | ~ hBOOL(hAPP(product_prod(U_635,U_633),bool,hAPP(fun(U_635,fun(U_633,bool)),fun(product_prod(U_635,U_633),bool),product_prod_case(U_635,U_633,bool),hAPP(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool)),hAPP(fun(fun(U_633,bool),fun(U_633,bool)),fun(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool))),combb(fun(U_633,bool),fun(U_633,bool),U_635),hAPP(fun(bool,bool),fun(fun(U_633,bool),fun(U_633,bool)),combb(bool,bool,U_633),hAPP(bool,fun(bool,bool),fconj,U_631))),U_629)),U_627)) ) ),
    inference(miniscope,[status(thm)],[f_210_2]) ).

cnf(f_210_4,plain,
    ( hBOOL(U_631)
    | ~ hBOOL(hAPP(product_prod(U_635,U_633),bool,hAPP(fun(U_635,fun(U_633,bool)),fun(product_prod(U_635,U_633),bool),product_prod_case(U_635,U_633,bool),hAPP(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool)),hAPP(fun(fun(U_633,bool),fun(U_633,bool)),fun(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool))),combb(fun(U_633,bool),fun(U_633,bool),U_635),hAPP(fun(bool,bool),fun(fun(U_633,bool),fun(U_633,bool)),combb(bool,bool,U_633),hAPP(bool,fun(bool,bool),fconj,U_631))),U_629)),U_627)) ),
    inference(clausify,[status(thm)],[f_210_3]) ).

cnf(f_210_5,plain,
    ( hBOOL(hAPP(product_prod(U_635,U_633),bool,hAPP(fun(U_635,fun(U_633,bool)),fun(product_prod(U_635,U_633),bool),product_prod_case(U_635,U_633,bool),U_629),U_627))
    | ~ hBOOL(hAPP(product_prod(U_635,U_633),bool,hAPP(fun(U_635,fun(U_633,bool)),fun(product_prod(U_635,U_633),bool),product_prod_case(U_635,U_633,bool),hAPP(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool)),hAPP(fun(fun(U_633,bool),fun(U_633,bool)),fun(fun(U_635,fun(U_633,bool)),fun(U_635,fun(U_633,bool))),combb(fun(U_633,bool),fun(U_633,bool),U_635),hAPP(fun(bool,bool),fun(fun(U_633,bool),fun(U_633,bool)),combb(bool,bool,U_633),hAPP(bool,fun(bool,bool),fconj,U_631))),U_629)),U_627)) ),
    inference(clausify,[status(thm)],[f_210_3]) ).

cnf(f_210_6,plain,
    ( hBOOL(hAPP(product_prod(U_636,U_634),bool,hAPP(fun(U_636,fun(U_634,bool)),fun(product_prod(U_636,U_634),bool),product_prod_case(U_636,U_634,bool),hAPP(fun(U_636,fun(U_634,bool)),fun(U_636,fun(U_634,bool)),hAPP(fun(fun(U_634,bool),fun(U_634,bool)),fun(fun(U_636,fun(U_634,bool)),fun(U_636,fun(U_634,bool))),combb(fun(U_634,bool),fun(U_634,bool),U_636),hAPP(fun(bool,bool),fun(fun(U_634,bool),fun(U_634,bool)),combb(bool,bool,U_634),hAPP(bool,fun(bool,bool),fconj,U_632))),U_630)),U_628))
    | ~ hBOOL(hAPP(product_prod(U_636,U_634),bool,hAPP(fun(U_636,fun(U_634,bool)),fun(product_prod(U_636,U_634),bool),product_prod_case(U_636,U_634,bool),U_630),U_628))
    | ~ hBOOL(U_632) ),
    inference(clausify,[status(thm)],[f_210_3]) ).

fof(f_211_1,plain,
    ! [Va_1,Ta,Va,U,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(val,exp(list(char)),val_1(list(char)),U)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),U)),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))),
    inference(fof_nnf,[status(thm)],[fact_63_red__reds_ORedInitBlock]) ).

fof(f_211_2,plain,
    ! [U_642,U_641,U_640,U_639,U_638,U_637] : 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_642),U_641),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_642),hAPP(val,exp(list(char)),val_1(list(char)),U_640))),hAPP(val,exp(list(char)),val_1(list(char)),U_639)))),U_638)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_639)),U_638))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_637))),
    inference(variable_rename,[status(thm)],[f_211_1]) ).

cnf(f_211_3,plain,
    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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_642),U_641),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_642),hAPP(val,exp(list(char)),val_1(list(char)),U_640))),hAPP(val,exp(list(char)),val_1(list(char)),U_639)))),U_638)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_639)),U_638))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_637))),
    inference(clausify,[status(thm)],[f_211_2]) ).

fof(f_212_1,plain,
    ! [X_a,T_a,Pa,Hb,Va,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),Hb),Va),T_a))
      | ~ 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_a))
      | ~ 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),Hb),Va),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_64_conf__widen]) ).

fof(f_212_2,plain,
    ! [U_648,U_647,U_646,U_645,U_644,U_643] :
      ( 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,U_648)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_648),U_646),U_645),U_644),U_647))
      | ~ 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,U_648)))))))),fun(ty,fun(ty,bool)),widen(U_648),U_646),U_643),U_647))
      | ~ 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,U_648)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_648),U_646),U_645),U_644),U_643)) ),
    inference(variable_rename,[status(thm)],[f_212_1]) ).

cnf(f_212_3,plain,
    ( 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,U_648)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_648),U_646),U_645),U_644),U_647))
    | ~ 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,U_648)))))))),fun(ty,fun(ty,bool)),widen(U_648),U_646),U_643),U_647))
    | ~ 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,U_648)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_648),U_646),U_645),U_644),U_643)) ),
    inference(clausify,[status(thm)],[f_212_2]) ).

fof(f_213_1,plain,
    ! [X_a,X_b,F,A_1,B] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,A_1),B))
      | ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(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_1),B))) ),
    inference(fof_nnf,[status(thm)],[fact_65_splitD]) ).

fof(f_213_2,plain,
    ! [U_653,U_652,U_651,U_650,U_649] :
      ( hBOOL(hAPP(U_652,bool,hAPP(U_653,fun(U_652,bool),U_651,U_650),U_649))
      | ~ hBOOL(hAPP(product_prod(U_653,U_652),bool,hAPP(fun(U_653,fun(U_652,bool)),fun(product_prod(U_653,U_652),bool),product_prod_case(U_653,U_652,bool),U_651),hAPP(U_652,product_prod(U_653,U_652),hAPP(U_653,fun(U_652,product_prod(U_653,U_652)),product_Pair(U_653,U_652),U_650),U_649))) ),
    inference(variable_rename,[status(thm)],[f_213_1]) ).

cnf(f_213_3,plain,
    ( hBOOL(hAPP(U_652,bool,hAPP(U_653,fun(U_652,bool),U_651,U_650),U_649))
    | ~ hBOOL(hAPP(product_prod(U_653,U_652),bool,hAPP(fun(U_653,fun(U_652,bool)),fun(product_prod(U_653,U_652),bool),product_prod_case(U_653,U_652,bool),U_651),hAPP(U_652,product_prod(U_653,U_652),hAPP(U_653,fun(U_652,product_prod(U_653,U_652)),product_Pair(U_653,U_652),U_650),U_649))) ),
    inference(clausify,[status(thm)],[f_213_2]) ).

fof(f_214_1,plain,
    ! [X_a,H_b,Pa,Hb,Lb,Ea] :
      ( 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_b),Lb),Ea))
      | ~ 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,Hb),H_b))
      | ~ 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),Hb),Lb),Ea)) ),
    inference(fof_nnf,[status(thm)],[fact_66_lconf__hext]) ).

fof(f_214_2,plain,
    ! [U_659,U_658,U_657,U_656,U_655,U_654] :
      ( 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,U_659)))))))),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(U_659),U_657),U_658),U_655),U_654))
      | ~ 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,U_656),U_658))
      | ~ 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,U_659)))))))),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(U_659),U_657),U_656),U_655),U_654)) ),
    inference(variable_rename,[status(thm)],[f_214_1]) ).

cnf(f_214_3,plain,
    ( 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,U_659)))))))),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(U_659),U_657),U_658),U_655),U_654))
    | ~ 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,U_656),U_658))
    | ~ 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,U_659)))))))),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(U_659),U_657),U_656),U_655),U_654)) ),
    inference(clausify,[status(thm)],[f_214_2]) ).

fof(f_215_1,plain,
    ! [Va,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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))),
    inference(fof_nnf,[status(thm)],[fact_67_red__reds_ORedSeq]) ).

fof(f_215_2,plain,
    ! [U_663,U_662,U_661,U_660] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_663)),U_662)),U_661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_662),U_661))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_660))),
    inference(variable_rename,[status(thm)],[f_215_1]) ).

cnf(f_215_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_663)),U_662)),U_661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_662),U_661))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_660))),
    inference(clausify,[status(thm)],[f_215_2]) ).

fof(f_216_1,plain,
    ! [X_a,X_b,E1,U1,M_1,E2] :
      ( 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(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),E1),M_1),hAPP(X_b,option(X_b),some(X_b),U1))),E2) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),E1),E2)),M_1),hAPP(X_b,option(X_b),some(X_b),U1))
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),M_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),E2))) ),
    inference(fof_nnf,[status(thm)],[fact_68_map__add__upd__left]) ).

fof(f_216_2,plain,
    ! [U_669,U_668,U_667,U_666,U_665,U_664] :
      ( hAPP(fun(U_669,option(U_668)),fun(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(fun(U_669,option(U_668)),fun(U_669,option(U_668))),map_add(U_669,U_668),hAPP(option(U_668),fun(U_669,option(U_668)),hAPP(U_669,fun(option(U_668),fun(U_669,option(U_668))),hAPP(fun(U_669,option(U_668)),fun(U_669,fun(option(U_668),fun(U_669,option(U_668)))),fun_upd(U_669,option(U_668)),U_667),U_665),hAPP(U_668,option(U_668),some(U_668),U_666))),U_664) = hAPP(option(U_668),fun(U_669,option(U_668)),hAPP(U_669,fun(option(U_668),fun(U_669,option(U_668))),hAPP(fun(U_669,option(U_668)),fun(U_669,fun(option(U_668),fun(U_669,option(U_668)))),fun_upd(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(fun(U_669,option(U_668)),fun(U_669,option(U_668))),map_add(U_669,U_668),U_667),U_664)),U_665),hAPP(U_668,option(U_668),some(U_668),U_666))
      | hBOOL(hAPP(fun(U_669,bool),bool,hAPP(U_669,fun(fun(U_669,bool),bool),member(U_669),U_665),hAPP(fun(U_669,option(U_668)),fun(U_669,bool),dom(U_669,U_668),U_664))) ),
    inference(variable_rename,[status(thm)],[f_216_1]) ).

cnf(f_216_3,plain,
    ( hAPP(fun(U_669,option(U_668)),fun(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(fun(U_669,option(U_668)),fun(U_669,option(U_668))),map_add(U_669,U_668),hAPP(option(U_668),fun(U_669,option(U_668)),hAPP(U_669,fun(option(U_668),fun(U_669,option(U_668))),hAPP(fun(U_669,option(U_668)),fun(U_669,fun(option(U_668),fun(U_669,option(U_668)))),fun_upd(U_669,option(U_668)),U_667),U_665),hAPP(U_668,option(U_668),some(U_668),U_666))),U_664) = hAPP(option(U_668),fun(U_669,option(U_668)),hAPP(U_669,fun(option(U_668),fun(U_669,option(U_668))),hAPP(fun(U_669,option(U_668)),fun(U_669,fun(option(U_668),fun(U_669,option(U_668)))),fun_upd(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(U_669,option(U_668)),hAPP(fun(U_669,option(U_668)),fun(fun(U_669,option(U_668)),fun(U_669,option(U_668))),map_add(U_669,U_668),U_667),U_664)),U_665),hAPP(U_668,option(U_668),some(U_668),U_666))
    | hBOOL(hAPP(fun(U_669,bool),bool,hAPP(U_669,fun(fun(U_669,bool),bool),member(U_669),U_665),hAPP(fun(U_669,option(U_668)),fun(U_669,bool),dom(U_669,U_668),U_664))) ),
    inference(clausify,[status(thm)],[f_216_2]) ).

fof(f_217_1,plain,
    ! [Va_1,Ta,U,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(val,exp(list(char)),val_1(list(char)),U))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),U)),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))),
    inference(fof_nnf,[status(thm)],[fact_69_red__reds_ORedBlock]) ).

fof(f_217_2,plain,
    ! [U_674,U_673,U_672,U_671,U_670] : 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_674),U_673),hAPP(val,exp(list(char)),val_1(list(char)),U_672))),U_671)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_672)),U_671))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_670))),
    inference(variable_rename,[status(thm)],[f_217_1]) ).

cnf(f_217_3,plain,
    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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_674),U_673),hAPP(val,exp(list(char)),val_1(list(char)),U_672))),U_671)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_672)),U_671))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_670))),
    inference(clausify,[status(thm)],[f_217_2]) ).

fof(f_218_1,plain,
    ! [X_b,X_a,M_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_1),hAPP(fun(X_b,option(X_a)),fun(X_b,bool),dom(X_b,X_a),M_1)))
      | hAPP(X_b,option(X_a),M_1,A_1) != hAPP(X_a,option(X_a),some(X_a),B) ),
    inference(fof_nnf,[status(thm)],[fact_70_domI]) ).

fof(f_218_2,plain,
    ! [U_679,U_678,U_677,U_676,U_675] :
      ( hBOOL(hAPP(fun(U_679,bool),bool,hAPP(U_679,fun(fun(U_679,bool),bool),member(U_679),U_676),hAPP(fun(U_679,option(U_678)),fun(U_679,bool),dom(U_679,U_678),U_677)))
      | hAPP(U_679,option(U_678),U_677,U_676) != hAPP(U_678,option(U_678),some(U_678),U_675) ),
    inference(variable_rename,[status(thm)],[f_218_1]) ).

fof(f_218_3,plain,
    ! [U_679,U_678,U_677,U_676] :
      ( ! [U_675] : hAPP(U_679,option(U_678),U_677,U_676) != hAPP(U_678,option(U_678),some(U_678),U_675)
      | hBOOL(hAPP(fun(U_679,bool),bool,hAPP(U_679,fun(fun(U_679,bool),bool),member(U_679),U_676),hAPP(fun(U_679,option(U_678)),fun(U_679,bool),dom(U_679,U_678),U_677))) ),
    inference(miniscope,[status(thm)],[f_218_2]) ).

cnf(f_218_4,plain,
    ( hAPP(U_679,option(U_678),U_677,U_676) != hAPP(U_678,option(U_678),some(U_678),U_675)
    | hBOOL(hAPP(fun(U_679,bool),bool,hAPP(U_679,fun(fun(U_679,bool),bool),member(U_679),U_676),hAPP(fun(U_679,option(U_678)),fun(U_679,bool),dom(U_679,U_678),U_677))) ),
    inference(clausify,[status(thm)],[f_218_3]) ).

fof(f_219_1,plain,
    ! [Ta,V_a,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V_a))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hAPP(list(char),option(val),L_b,Va_1) != hAPP(val,option(val),some(val),V_a)
      | ~ 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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_71_red__reds_OInitBlockRed]) ).

fof(f_219_2,plain,
    ! [U_690,U_689,U_688,U_687,U_686,U_685,U_684,U_683,U_682,U_681,U_680] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_685),U_690),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_685),hAPP(val,exp(list(char)),val_1(list(char)),U_684))),U_688))),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))),U_687),U_686))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_685),U_690),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_685),hAPP(val,exp(list(char)),val_1(list(char)),U_689))),U_683))),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))),U_682),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_681),U_685),hAPP(list(char),option(val),U_686,U_685)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_680)))
      | hAPP(list(char),option(val),U_681,U_685) != hAPP(val,option(val),some(val),U_689)
      | ~ 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)))),U_688),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))),U_687),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_686),U_685),hAPP(val,option(val),some(val),U_684))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_683),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))),U_682),U_681)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_680))) ),
    inference(variable_rename,[status(thm)],[f_219_1]) ).

cnf(f_219_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_685),U_690),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_685),hAPP(val,exp(list(char)),val_1(list(char)),U_684))),U_688))),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))),U_687),U_686))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_685),U_690),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_685),hAPP(val,exp(list(char)),val_1(list(char)),U_689))),U_683))),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))),U_682),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_681),U_685),hAPP(list(char),option(val),U_686,U_685)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_680)))
    | hAPP(list(char),option(val),U_681,U_685) != hAPP(val,option(val),some(val),U_689)
    | ~ 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)))),U_688),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))),U_687),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_686),U_685),hAPP(val,option(val),some(val),U_684))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_683),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))),U_682),U_681)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_680))) ),
    inference(clausify,[status(thm)],[f_219_2]) ).

fof(f_220_1,plain,
    ! [X_b,X_c,X_a,F1_1,A_1,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_case(X_b,X_c,X_a),F1_1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),A_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1_1,A_1),B),
    inference(fof_nnf,[status(thm)],[fact_72_prod_Osimps_I2_J]) ).

fof(f_220_2,plain,
    ! [U_696,U_695,U_694,U_693,U_692,U_691] : hAPP(product_prod(U_696,U_695),U_694,hAPP(fun(U_696,fun(U_695,U_694)),fun(product_prod(U_696,U_695),U_694),product_prod_case(U_696,U_695,U_694),U_693),hAPP(U_695,product_prod(U_696,U_695),hAPP(U_696,fun(U_695,product_prod(U_696,U_695)),product_Pair(U_696,U_695),U_692),U_691)) = hAPP(U_695,U_694,hAPP(U_696,fun(U_695,U_694),U_693,U_692),U_691),
    inference(variable_rename,[status(thm)],[f_220_1]) ).

cnf(f_220_3,plain,
    hAPP(product_prod(U_696,U_695),U_694,hAPP(fun(U_696,fun(U_695,U_694)),fun(product_prod(U_696,U_695),U_694),product_prod_case(U_696,U_695,U_694),U_693),hAPP(U_695,product_prod(U_696,U_695),hAPP(U_696,fun(U_695,product_prod(U_696,U_695)),product_Pair(U_696,U_695),U_692),U_691)) = hAPP(U_695,U_694,hAPP(U_696,fun(U_695,U_694),U_693,U_692),U_691),
    inference(clausify,[status(thm)],[f_220_2]) ).

fof(f_221_1,plain,
    ! [X_b,X_c,X_a,F,A_1,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_case(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_1),B)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F,A_1),B),
    inference(fof_nnf,[status(thm)],[fact_73_split__conv]) ).

fof(f_221_2,plain,
    ! [U_702,U_701,U_700,U_699,U_698,U_697] : hAPP(product_prod(U_702,U_701),U_700,hAPP(fun(U_702,fun(U_701,U_700)),fun(product_prod(U_702,U_701),U_700),product_prod_case(U_702,U_701,U_700),U_699),hAPP(U_701,product_prod(U_702,U_701),hAPP(U_702,fun(U_701,product_prod(U_702,U_701)),product_Pair(U_702,U_701),U_698),U_697)) = hAPP(U_701,U_700,hAPP(U_702,fun(U_701,U_700),U_699,U_698),U_697),
    inference(variable_rename,[status(thm)],[f_221_1]) ).

cnf(f_221_3,plain,
    hAPP(product_prod(U_702,U_701),U_700,hAPP(fun(U_702,fun(U_701,U_700)),fun(product_prod(U_702,U_701),U_700),product_prod_case(U_702,U_701,U_700),U_699),hAPP(U_701,product_prod(U_702,U_701),hAPP(U_702,fun(U_701,product_prod(U_702,U_701)),product_Pair(U_702,U_701),U_698),U_697)) = hAPP(U_701,U_700,hAPP(U_702,fun(U_701,U_700),U_699,U_698),U_697),
    inference(clausify,[status(thm)],[f_221_2]) ).

fof(f_222_1,plain,
    ! [X_b,X_a,M_1,N,K,Xx] :
      ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = hAPP(X_a,option(X_a),some(X_a),Xx)
      | hAPP(X_b,option(X_a),N,K) != hAPP(X_a,option(X_a),some(X_a),Xx) ),
    inference(fof_nnf,[status(thm)],[fact_74_map__add__find__right]) ).

fof(f_222_2,plain,
    ! [U_708,U_707,U_706,U_705,U_704,U_703] :
      ( hAPP(U_708,option(U_707),hAPP(fun(U_708,option(U_707)),fun(U_708,option(U_707)),hAPP(fun(U_708,option(U_707)),fun(fun(U_708,option(U_707)),fun(U_708,option(U_707))),map_add(U_708,U_707),U_706),U_705),U_704) = hAPP(U_707,option(U_707),some(U_707),U_703)
      | hAPP(U_708,option(U_707),U_705,U_704) != hAPP(U_707,option(U_707),some(U_707),U_703) ),
    inference(variable_rename,[status(thm)],[f_222_1]) ).

cnf(f_222_3,plain,
    ( hAPP(U_708,option(U_707),hAPP(fun(U_708,option(U_707)),fun(U_708,option(U_707)),hAPP(fun(U_708,option(U_707)),fun(fun(U_708,option(U_707)),fun(U_708,option(U_707))),map_add(U_708,U_707),U_706),U_705),U_704) = hAPP(U_707,option(U_707),some(U_707),U_703)
    | hAPP(U_708,option(U_707),U_705,U_704) != hAPP(U_707,option(U_707),some(U_707),U_703) ),
    inference(clausify,[status(thm)],[f_222_2]) ).

fof(f_223_1,plain,
    ! [X_a,X_b,F,G] :
      ( ti(fun(X_a,X_b),F) = ti(fun(X_a,X_b),G)
      | ? [X_2] : hAPP(X_a,X_b,F,X_2) != hAPP(X_a,X_b,G,X_2) ),
    inference(fof_nnf,[status(thm)],[fact_75_ext]) ).

fof(f_223_2,plain,
    ! [U_713,U_712,U_711,U_710] :
      ( ti(fun(U_713,U_712),U_711) = ti(fun(U_713,U_712),U_710)
      | ? [U_709] : hAPP(U_713,U_712,U_711,U_709) != hAPP(U_713,U_712,U_710,U_709) ),
    inference(variable_rename,[status(thm)],[f_223_1]) ).

fof(f_223_3,plain,
    ! [U_713,U_712,U_711,U_710] :
      ( ti(fun(U_713,U_712),U_711) = ti(fun(U_713,U_712),U_710)
      | hAPP(U_713,U_712,U_711,sK52(U_713,U_712,U_711,U_710)) != hAPP(U_713,U_712,U_710,sK52(U_713,U_712,U_711,U_710)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK52]),skolemize(U_709,sK52(U_713,U_712,U_711,U_710))],[f_223_2]) ).

cnf(f_223_4,plain,
    ( ti(fun(U_713,U_712),U_711) = ti(fun(U_713,U_712),U_710)
    | hAPP(U_713,U_712,U_711,sK52(U_713,U_712,U_711,U_710)) != hAPP(U_713,U_712,U_710,sK52(U_713,U_712,U_711,U_710)) ),
    inference(clausify,[status(thm)],[f_223_3]) ).

fof(f_224_1,plain,
    ! [X_a,X_1,A_2] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
        | ~ hBOOL(hAPP(X_a,bool,A_2,X_1)) )
      & ( hBOOL(hAPP(X_a,bool,A_2,X_1))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_76_mem__def]) ).

fof(f_224_2,plain,
    ! [U_716,U_715,U_714] :
      ( ( hBOOL(hAPP(fun(U_716,bool),bool,hAPP(U_716,fun(fun(U_716,bool),bool),member(U_716),U_715),U_714))
        | ~ hBOOL(hAPP(U_716,bool,U_714,U_715)) )
      & ( hBOOL(hAPP(U_716,bool,U_714,U_715))
        | ~ hBOOL(hAPP(fun(U_716,bool),bool,hAPP(U_716,fun(fun(U_716,bool),bool),member(U_716),U_715),U_714)) ) ),
    inference(variable_rename,[status(thm)],[f_224_1]) ).

fof(f_224_3,plain,
    ( ! [U_722,U_720,U_718] :
        ( hBOOL(hAPP(fun(U_722,bool),bool,hAPP(U_722,fun(fun(U_722,bool),bool),member(U_722),U_720),U_718))
        | ~ hBOOL(hAPP(U_722,bool,U_718,U_720)) )
    & ! [U_721,U_719,U_717] :
        ( hBOOL(hAPP(U_721,bool,U_717,U_719))
        | ~ hBOOL(hAPP(fun(U_721,bool),bool,hAPP(U_721,fun(fun(U_721,bool),bool),member(U_721),U_719),U_717)) ) ),
    inference(miniscope,[status(thm)],[f_224_2]) ).

cnf(f_224_4,plain,
    ( hBOOL(hAPP(U_721,bool,U_717,U_719))
    | ~ hBOOL(hAPP(fun(U_721,bool),bool,hAPP(U_721,fun(fun(U_721,bool),bool),member(U_721),U_719),U_717)) ),
    inference(clausify,[status(thm)],[f_224_3]) ).

cnf(f_224_5,plain,
    ( hBOOL(hAPP(fun(U_722,bool),bool,hAPP(U_722,fun(fun(U_722,bool),bool),member(U_722),U_720),U_718))
    | ~ hBOOL(hAPP(U_722,bool,U_718,U_720)) ),
    inference(clausify,[status(thm)],[f_224_3]) ).

fof(f_225_1,plain,
    ! [X_a,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa) = ti(fun(X_a,bool),Pa),
    inference(fof_nnf,[status(thm)],[fact_77_Collect__def]) ).

fof(f_225_2,plain,
    ! [U_724,U_723] : hAPP(fun(U_724,bool),fun(U_724,bool),collect(U_724),U_723) = ti(fun(U_724,bool),U_723),
    inference(variable_rename,[status(thm)],[f_225_1]) ).

cnf(f_225_3,plain,
    hAPP(fun(U_724,bool),fun(U_724,bool),collect(U_724),U_723) = ti(fun(U_724,bool),U_723),
    inference(clausify,[status(thm)],[f_225_2]) ).

fof(f_226_1,plain,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c)),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c),X_a),hAPP(fun(product_prod(X_a,X_b),X_c),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),combb(product_prod(X_a,X_b),X_c,X_b),F)),product_Pair(X_a,X_b))) = ti(fun(product_prod(X_a,X_b),X_c),F),
    inference(fof_nnf,[status(thm)],[fact_78_split__eta]) ).

fof(f_226_2,plain,
    ! [U_728,U_727,U_726,U_725] : hAPP(fun(U_728,fun(U_727,U_726)),fun(product_prod(U_728,U_727),U_726),product_prod_case(U_728,U_727,U_726),hAPP(fun(U_728,fun(U_727,product_prod(U_728,U_727))),fun(U_728,fun(U_727,U_726)),hAPP(fun(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726)),fun(fun(U_728,fun(U_727,product_prod(U_728,U_727))),fun(U_728,fun(U_727,U_726))),combb(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726),U_728),hAPP(fun(product_prod(U_728,U_727),U_726),fun(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726)),combb(product_prod(U_728,U_727),U_726,U_727),U_725)),product_Pair(U_728,U_727))) = ti(fun(product_prod(U_728,U_727),U_726),U_725),
    inference(variable_rename,[status(thm)],[f_226_1]) ).

cnf(f_226_3,plain,
    hAPP(fun(U_728,fun(U_727,U_726)),fun(product_prod(U_728,U_727),U_726),product_prod_case(U_728,U_727,U_726),hAPP(fun(U_728,fun(U_727,product_prod(U_728,U_727))),fun(U_728,fun(U_727,U_726)),hAPP(fun(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726)),fun(fun(U_728,fun(U_727,product_prod(U_728,U_727))),fun(U_728,fun(U_727,U_726))),combb(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726),U_728),hAPP(fun(product_prod(U_728,U_727),U_726),fun(fun(U_727,product_prod(U_728,U_727)),fun(U_727,U_726)),combb(product_prod(U_728,U_727),U_726,U_727),U_725)),product_Pair(U_728,U_727))) = ti(fun(product_prod(U_728,U_727),U_726),U_725),
    inference(clausify,[status(thm)],[f_226_2]) ).

fof(f_227_1,plain,
    ! [Va_1,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_79_red__reds_OLAssRed]) ).

fof(f_227_2,plain,
    ! [U_734,U_733,U_732,U_731,U_730,U_729] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_734),U_733)),U_732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_734),U_731)),U_730))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_729)))
      | ~ 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)))),U_733),U_732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_731),U_730))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_729))) ),
    inference(variable_rename,[status(thm)],[f_227_1]) ).

cnf(f_227_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_734),U_733)),U_732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_734),U_731)),U_730))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_729)))
    | ~ 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)))),U_733),U_732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_731),U_730))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_729))) ),
    inference(clausify,[status(thm)],[f_227_2]) ).

fof(f_228_1,plain,
    ! [E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_80_red__reds_OSeqRed]) ).

fof(f_228_2,plain,
    ! [U_740,U_739,U_738,U_737,U_736,U_735] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_739),U_740)),U_738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_737),U_740)),U_736))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_735)))
      | ~ 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)))),U_739),U_738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_737),U_736))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_735))) ),
    inference(variable_rename,[status(thm)],[f_228_1]) ).

cnf(f_228_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_739),U_740)),U_738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_737),U_740)),U_736))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_735)))
    | ~ 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)))),U_739),U_738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_737),U_736))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_735))) ),
    inference(clausify,[status(thm)],[f_228_2]) ).

fof(f_229_1,plain,
    ! [X_b,X_a,F,A_1,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_1),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_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_81_curryE]) ).

fof(f_229_2,plain,
    ! [U_745,U_744,U_743,U_742,U_741] :
      ( hBOOL(hAPP(product_prod(U_744,U_745),bool,U_743,hAPP(U_745,product_prod(U_744,U_745),hAPP(U_744,fun(U_745,product_prod(U_744,U_745)),product_Pair(U_744,U_745),U_742),U_741)))
      | ~ hBOOL(hAPP(U_745,bool,hAPP(U_744,fun(U_745,bool),hAPP(fun(product_prod(U_744,U_745),bool),fun(U_744,fun(U_745,bool)),product_curry(U_744,U_745,bool),U_743),U_742),U_741)) ),
    inference(variable_rename,[status(thm)],[f_229_1]) ).

cnf(f_229_3,plain,
    ( hBOOL(hAPP(product_prod(U_744,U_745),bool,U_743,hAPP(U_745,product_prod(U_744,U_745),hAPP(U_744,fun(U_745,product_prod(U_744,U_745)),product_Pair(U_744,U_745),U_742),U_741)))
    | ~ hBOOL(hAPP(U_745,bool,hAPP(U_744,fun(U_745,bool),hAPP(fun(product_prod(U_744,U_745),bool),fun(U_744,fun(U_745,bool)),product_curry(U_744,U_745,bool),U_743),U_742),U_741)) ),
    inference(clausify,[status(thm)],[f_229_2]) ).

fof(f_230_1,plain,
    ! [X_b,X_a,F,A_1,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_1),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_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_82_curryD]) ).

fof(f_230_2,plain,
    ! [U_750,U_749,U_748,U_747,U_746] :
      ( hBOOL(hAPP(product_prod(U_749,U_750),bool,U_748,hAPP(U_750,product_prod(U_749,U_750),hAPP(U_749,fun(U_750,product_prod(U_749,U_750)),product_Pair(U_749,U_750),U_747),U_746)))
      | ~ hBOOL(hAPP(U_750,bool,hAPP(U_749,fun(U_750,bool),hAPP(fun(product_prod(U_749,U_750),bool),fun(U_749,fun(U_750,bool)),product_curry(U_749,U_750,bool),U_748),U_747),U_746)) ),
    inference(variable_rename,[status(thm)],[f_230_1]) ).

cnf(f_230_3,plain,
    ( hBOOL(hAPP(product_prod(U_749,U_750),bool,U_748,hAPP(U_750,product_prod(U_749,U_750),hAPP(U_749,fun(U_750,product_prod(U_749,U_750)),product_Pair(U_749,U_750),U_747),U_746)))
    | ~ hBOOL(hAPP(U_750,bool,hAPP(U_749,fun(U_750,bool),hAPP(fun(product_prod(U_749,U_750),bool),fun(U_749,fun(U_750,bool)),product_curry(U_749,U_750,bool),U_748),U_747),U_746)) ),
    inference(clausify,[status(thm)],[f_230_2]) ).

fof(f_231_1,plain,
    ! [X_a,X_b,F,G,X_1,Y_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),G),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1))) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),F),G)),X_1),hAPP(X_b,option(X_b),some(X_b),Y_1)),
    inference(fof_nnf,[status(thm)],[fact_83_map__add__upd]) ).

fof(f_231_2,plain,
    ! [U_756,U_755,U_754,U_753,U_752,U_751] : hAPP(fun(U_756,option(U_755)),fun(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(fun(U_756,option(U_755)),fun(U_756,option(U_755))),map_add(U_756,U_755),U_754),hAPP(option(U_755),fun(U_756,option(U_755)),hAPP(U_756,fun(option(U_755),fun(U_756,option(U_755))),hAPP(fun(U_756,option(U_755)),fun(U_756,fun(option(U_755),fun(U_756,option(U_755)))),fun_upd(U_756,option(U_755)),U_753),U_752),hAPP(U_755,option(U_755),some(U_755),U_751))) = hAPP(option(U_755),fun(U_756,option(U_755)),hAPP(U_756,fun(option(U_755),fun(U_756,option(U_755))),hAPP(fun(U_756,option(U_755)),fun(U_756,fun(option(U_755),fun(U_756,option(U_755)))),fun_upd(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(fun(U_756,option(U_755)),fun(U_756,option(U_755))),map_add(U_756,U_755),U_754),U_753)),U_752),hAPP(U_755,option(U_755),some(U_755),U_751)),
    inference(variable_rename,[status(thm)],[f_231_1]) ).

cnf(f_231_3,plain,
    hAPP(fun(U_756,option(U_755)),fun(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(fun(U_756,option(U_755)),fun(U_756,option(U_755))),map_add(U_756,U_755),U_754),hAPP(option(U_755),fun(U_756,option(U_755)),hAPP(U_756,fun(option(U_755),fun(U_756,option(U_755))),hAPP(fun(U_756,option(U_755)),fun(U_756,fun(option(U_755),fun(U_756,option(U_755)))),fun_upd(U_756,option(U_755)),U_753),U_752),hAPP(U_755,option(U_755),some(U_755),U_751))) = hAPP(option(U_755),fun(U_756,option(U_755)),hAPP(U_756,fun(option(U_755),fun(U_756,option(U_755))),hAPP(fun(U_756,option(U_755)),fun(U_756,fun(option(U_755),fun(U_756,option(U_755)))),fun_upd(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(U_756,option(U_755)),hAPP(fun(U_756,option(U_755)),fun(fun(U_756,option(U_755)),fun(U_756,option(U_755))),map_add(U_756,U_755),U_754),U_753)),U_752),hAPP(U_755,option(U_755),some(U_755),U_751)),
    inference(clausify,[status(thm)],[f_231_2]) ).

fof(f_232_1,plain,
    ! [X_a,X_b,X_c] : produc1605651328_split(X_a,X_b,X_c) = product_prod_case(X_a,X_b,X_c),
    inference(fof_nnf,[status(thm)],[fact_84_internal__split__def]) ).

fof(f_232_2,plain,
    ! [U_759,U_758,U_757] : produc1605651328_split(U_759,U_758,U_757) = product_prod_case(U_759,U_758,U_757),
    inference(variable_rename,[status(thm)],[f_232_1]) ).

cnf(f_232_3,plain,
    produc1605651328_split(U_759,U_758,U_757) = product_prod_case(U_759,U_758,U_757),
    inference(clausify,[status(thm)],[f_232_2]) ).

fof(f_233_1,plain,
    ! [X_c,X_a,X_b,F,A_1,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_1),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_1),B)),
    inference(fof_nnf,[status(thm)],[fact_85_curry__conv]) ).

fof(f_233_2,plain,
    ! [U_765,U_764,U_763,U_762,U_761,U_760] : hAPP(U_765,U_764,hAPP(U_763,fun(U_765,U_764),hAPP(fun(product_prod(U_763,U_765),U_764),fun(U_763,fun(U_765,U_764)),product_curry(U_763,U_765,U_764),U_762),U_761),U_760) = hAPP(product_prod(U_763,U_765),U_764,U_762,hAPP(U_765,product_prod(U_763,U_765),hAPP(U_763,fun(U_765,product_prod(U_763,U_765)),product_Pair(U_763,U_765),U_761),U_760)),
    inference(variable_rename,[status(thm)],[f_233_1]) ).

cnf(f_233_3,plain,
    hAPP(U_765,U_764,hAPP(U_763,fun(U_765,U_764),hAPP(fun(product_prod(U_763,U_765),U_764),fun(U_763,fun(U_765,U_764)),product_curry(U_763,U_765,U_764),U_762),U_761),U_760) = hAPP(product_prod(U_763,U_765),U_764,U_762,hAPP(U_765,product_prod(U_763,U_765),hAPP(U_763,fun(U_765,product_prod(U_763,U_765)),product_Pair(U_763,U_765),U_761),U_760)),
    inference(clausify,[status(thm)],[f_233_2]) ).

fof(f_234_1,plain,
    ! [Pa,Hb,Ea,Va_1,Ta,Eb,T_a] :
      ( 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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),T_a))
      | ~ 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_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),Eb),T_a)) ),
    inference(fof_nnf,[status(thm)],[fact_86_WTrtBlock]) ).

fof(f_234_2,plain,
    ! [U_772,U_771,U_770,U_769,U_768,U_767,U_766] :
      ( 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_1,U_772),U_771),U_770),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_769),U_768),U_767)),U_766))
      | ~ 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_1,U_772),U_771),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_770),U_769),hAPP(ty,option(ty),some(ty),U_768))),U_767),U_766)) ),
    inference(variable_rename,[status(thm)],[f_234_1]) ).

cnf(f_234_3,plain,
    ( 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_1,U_772),U_771),U_770),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_769),U_768),U_767)),U_766))
    | ~ 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_1,U_772),U_771),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_770),U_769),hAPP(ty,option(ty),some(ty),U_768))),U_767),U_766)) ),
    inference(clausify,[status(thm)],[f_234_2]) ).

fof(f_235_1,plain,
    ! [X_a,X_b,C,P_1] :
      ( ? [X_2,Y_2] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),C,X_2),Y_2))
          & 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_2) )
      | ~ hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),C),P_1)) ),
    inference(fof_nnf,[status(thm)],[fact_87_splitE]) ).

fof(f_235_2,plain,
    ! [U_778,U_777,U_776,U_775] :
      ( ? [U_774,U_773] :
          ( hBOOL(hAPP(U_777,bool,hAPP(U_778,fun(U_777,bool),U_776,U_774),U_773))
          & ti(product_prod(U_778,U_777),U_775) = hAPP(U_777,product_prod(U_778,U_777),hAPP(U_778,fun(U_777,product_prod(U_778,U_777)),product_Pair(U_778,U_777),U_774),U_773) )
      | ~ hBOOL(hAPP(product_prod(U_778,U_777),bool,hAPP(fun(U_778,fun(U_777,bool)),fun(product_prod(U_778,U_777),bool),product_prod_case(U_778,U_777,bool),U_776),U_775)) ),
    inference(variable_rename,[status(thm)],[f_235_1]) ).

fof(f_235_3,plain,
    ! [U_778,U_777,U_776,U_775] :
      ( ? [U_773] :
          ( hBOOL(hAPP(U_777,bool,hAPP(U_778,fun(U_777,bool),U_776,sK53(U_778,U_777,U_776,U_775)),U_773))
          & ti(product_prod(U_778,U_777),U_775) = hAPP(U_777,product_prod(U_778,U_777),hAPP(U_778,fun(U_777,product_prod(U_778,U_777)),product_Pair(U_778,U_777),sK53(U_778,U_777,U_776,U_775)),U_773) )
      | ~ hBOOL(hAPP(product_prod(U_778,U_777),bool,hAPP(fun(U_778,fun(U_777,bool)),fun(product_prod(U_778,U_777),bool),product_prod_case(U_778,U_777,bool),U_776),U_775)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK53]),skolemize(U_774,sK53(U_778,U_777,U_776,U_775))],[f_235_2]) ).

fof(f_235_4,plain,
    ! [U_778,U_777,U_776,U_775] :
      ( ( hBOOL(hAPP(U_777,bool,hAPP(U_778,fun(U_777,bool),U_776,sK53(U_778,U_777,U_776,U_775)),sK54(U_778,U_777,U_776,U_775)))
        & ti(product_prod(U_778,U_777),U_775) = hAPP(U_777,product_prod(U_778,U_777),hAPP(U_778,fun(U_777,product_prod(U_778,U_777)),product_Pair(U_778,U_777),sK53(U_778,U_777,U_776,U_775)),sK54(U_778,U_777,U_776,U_775)) )
      | ~ hBOOL(hAPP(product_prod(U_778,U_777),bool,hAPP(fun(U_778,fun(U_777,bool)),fun(product_prod(U_778,U_777),bool),product_prod_case(U_778,U_777,bool),U_776),U_775)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK54]),skolemize(U_773,sK54(U_778,U_777,U_776,U_775))],[f_235_3]) ).

cnf(f_235_5,plain,
    ( ti(product_prod(U_778,U_777),U_775) = hAPP(U_777,product_prod(U_778,U_777),hAPP(U_778,fun(U_777,product_prod(U_778,U_777)),product_Pair(U_778,U_777),sK53(U_778,U_777,U_776,U_775)),sK54(U_778,U_777,U_776,U_775))
    | ~ hBOOL(hAPP(product_prod(U_778,U_777),bool,hAPP(fun(U_778,fun(U_777,bool)),fun(product_prod(U_778,U_777),bool),product_prod_case(U_778,U_777,bool),U_776),U_775)) ),
    inference(clausify,[status(thm)],[f_235_4]) ).

cnf(f_235_6,plain,
    ( hBOOL(hAPP(U_777,bool,hAPP(U_778,fun(U_777,bool),U_776,sK53(U_778,U_777,U_776,U_775)),sK54(U_778,U_777,U_776,U_775)))
    | ~ hBOOL(hAPP(product_prod(U_778,U_777),bool,hAPP(fun(U_778,fun(U_777,bool)),fun(product_prod(U_778,U_777),bool),product_prod_case(U_778,U_777,bool),U_776),U_775)) ),
    inference(clausify,[status(thm)],[f_235_4]) ).

fof(f_236_1,plain,
    ! [X_a,X_b,C,P_1] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),C),P_1))
      | ? [A_3,B_3] :
          ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),C,A_3),B_3))
          & 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),A_3),B_3) ) ),
    inference(fof_nnf,[status(thm)],[fact_88_splitI2]) ).

fof(f_236_2,plain,
    ! [U_784,U_783,U_782,U_781] :
      ( hBOOL(hAPP(product_prod(U_784,U_783),bool,hAPP(fun(U_784,fun(U_783,bool)),fun(product_prod(U_784,U_783),bool),product_prod_case(U_784,U_783,bool),U_782),U_781))
      | ? [U_780,U_779] :
          ( ~ hBOOL(hAPP(U_783,bool,hAPP(U_784,fun(U_783,bool),U_782,U_780),U_779))
          & ti(product_prod(U_784,U_783),U_781) = hAPP(U_783,product_prod(U_784,U_783),hAPP(U_784,fun(U_783,product_prod(U_784,U_783)),product_Pair(U_784,U_783),U_780),U_779) ) ),
    inference(variable_rename,[status(thm)],[f_236_1]) ).

fof(f_236_3,plain,
    ! [U_784,U_783,U_782,U_781] :
      ( hBOOL(hAPP(product_prod(U_784,U_783),bool,hAPP(fun(U_784,fun(U_783,bool)),fun(product_prod(U_784,U_783),bool),product_prod_case(U_784,U_783,bool),U_782),U_781))
      | ? [U_779] :
          ( ~ hBOOL(hAPP(U_783,bool,hAPP(U_784,fun(U_783,bool),U_782,sK55(U_784,U_783,U_782,U_781)),U_779))
          & ti(product_prod(U_784,U_783),U_781) = hAPP(U_783,product_prod(U_784,U_783),hAPP(U_784,fun(U_783,product_prod(U_784,U_783)),product_Pair(U_784,U_783),sK55(U_784,U_783,U_782,U_781)),U_779) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK55]),skolemize(U_780,sK55(U_784,U_783,U_782,U_781))],[f_236_2]) ).

fof(f_236_4,plain,
    ! [U_784,U_783,U_782,U_781] :
      ( hBOOL(hAPP(product_prod(U_784,U_783),bool,hAPP(fun(U_784,fun(U_783,bool)),fun(product_prod(U_784,U_783),bool),product_prod_case(U_784,U_783,bool),U_782),U_781))
      | ( ~ hBOOL(hAPP(U_783,bool,hAPP(U_784,fun(U_783,bool),U_782,sK55(U_784,U_783,U_782,U_781)),sK56(U_784,U_783,U_782,U_781)))
        & ti(product_prod(U_784,U_783),U_781) = hAPP(U_783,product_prod(U_784,U_783),hAPP(U_784,fun(U_783,product_prod(U_784,U_783)),product_Pair(U_784,U_783),sK55(U_784,U_783,U_782,U_781)),sK56(U_784,U_783,U_782,U_781)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK56]),skolemize(U_779,sK56(U_784,U_783,U_782,U_781))],[f_236_3]) ).

cnf(f_236_5,plain,
    ( ti(product_prod(U_784,U_783),U_781) = hAPP(U_783,product_prod(U_784,U_783),hAPP(U_784,fun(U_783,product_prod(U_784,U_783)),product_Pair(U_784,U_783),sK55(U_784,U_783,U_782,U_781)),sK56(U_784,U_783,U_782,U_781))
    | hBOOL(hAPP(product_prod(U_784,U_783),bool,hAPP(fun(U_784,fun(U_783,bool)),fun(product_prod(U_784,U_783),bool),product_prod_case(U_784,U_783,bool),U_782),U_781)) ),
    inference(clausify,[status(thm)],[f_236_4]) ).

cnf(f_236_6,plain,
    ( ~ hBOOL(hAPP(U_783,bool,hAPP(U_784,fun(U_783,bool),U_782,sK55(U_784,U_783,U_782,U_781)),sK56(U_784,U_783,U_782,U_781)))
    | hBOOL(hAPP(product_prod(U_784,U_783),bool,hAPP(fun(U_784,fun(U_783,bool)),fun(product_prod(U_784,U_783),bool),product_prod_case(U_784,U_783,bool),U_782),U_781)) ),
    inference(clausify,[status(thm)],[f_236_4]) ).

fof(f_237_1,plain,
    ! [E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),T_1_1)) ),
    inference(fof_nnf,[status(thm)],[fact_89_WTrtSeq]) ).

fof(f_237_2,plain,
    ! [U_791,U_790,U_789,U_788,U_787,U_786,U_785] :
      ( 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_1,U_789),U_788),U_787),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_786),U_791)),U_790))
      | ~ 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_1,U_789),U_788),U_787),U_791),U_790))
      | ~ 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_1,U_789),U_788),U_787),U_786),U_785)) ),
    inference(variable_rename,[status(thm)],[f_237_1]) ).

fof(f_237_3,plain,
    ! [U_791,U_790,U_789,U_788,U_787,U_786] :
      ( ! [U_785] : ~ 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_1,U_789),U_788),U_787),U_786),U_785))
      | 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_1,U_789),U_788),U_787),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_786),U_791)),U_790))
      | ~ 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_1,U_789),U_788),U_787),U_791),U_790)) ),
    inference(miniscope,[status(thm)],[f_237_2]) ).

cnf(f_237_4,plain,
    ( ~ 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_1,U_789),U_788),U_787),U_786),U_785))
    | 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_1,U_789),U_788),U_787),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_786),U_791)),U_790))
    | ~ 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_1,U_789),U_788),U_787),U_791),U_790)) ),
    inference(clausify,[status(thm)],[f_237_3]) ).

fof(f_238_1,plain,
    ! [X_a,Pa,Hb,Lb,Ea] :
      ( ( 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),Hb),Lb),Ea))
        | ? [V_3,V] :
            ( ! [T_5] :
                ( ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),V),T_5))
                | hAPP(list(char),option(ty),Ea,V_3) != hAPP(ty,option(ty),some(ty),T_5) )
            & hAPP(list(char),option(val),Lb,V_3) = hAPP(val,option(val),some(val),V) ) )
      & ( ! [V_3,V] :
            ( ? [T_5] :
                ( hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),V),T_5))
                & hAPP(list(char),option(ty),Ea,V_3) = hAPP(ty,option(ty),some(ty),T_5) )
            | hAPP(list(char),option(val),Lb,V_3) != hAPP(val,option(val),some(val),V) )
        | ~ 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),Hb),Lb),Ea)) ) ),
    inference(fof_nnf,[status(thm)],[fact_90_lconf__def]) ).

fof(f_238_2,plain,
    ! [U_802,U_801,U_800,U_799,U_798] :
      ( ( 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,U_802)))))))),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(U_802),U_801),U_800),U_799),U_798))
        | ? [U_797,U_796] :
            ( ! [U_795] :
                ( ~ 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,U_802)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_802),U_801),U_800),U_796),U_795))
                | hAPP(list(char),option(ty),U_798,U_797) != hAPP(ty,option(ty),some(ty),U_795) )
            & hAPP(list(char),option(val),U_799,U_797) = hAPP(val,option(val),some(val),U_796) ) )
      & ( ! [U_794,U_793] :
            ( ? [U_792] :
                ( 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,U_802)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_802),U_801),U_800),U_793),U_792))
                & hAPP(list(char),option(ty),U_798,U_794) = hAPP(ty,option(ty),some(ty),U_792) )
            | hAPP(list(char),option(val),U_799,U_794) != hAPP(val,option(val),some(val),U_793) )
        | ~ 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,U_802)))))))),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(U_802),U_801),U_800),U_799),U_798)) ) ),
    inference(variable_rename,[status(thm)],[f_238_1]) ).

fof(f_238_3,plain,
    ( ! [U_812,U_810,U_808,U_806,U_804] :
        ( 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804))
        | ? [U_797,U_796] :
            ( ! [U_795] :
                ( ~ 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,U_812)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_812),U_810),U_808),U_796),U_795))
                | hAPP(list(char),option(ty),U_804,U_797) != hAPP(ty,option(ty),some(ty),U_795) )
            & hAPP(list(char),option(val),U_806,U_797) = hAPP(val,option(val),some(val),U_796) ) )
    & ! [U_811,U_809,U_807,U_805,U_803] :
        ( ! [U_794,U_793] :
            ( ? [U_792] :
                ( 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,U_811)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_811),U_809),U_807),U_793),U_792))
                & hAPP(list(char),option(ty),U_803,U_794) = hAPP(ty,option(ty),some(ty),U_792) )
            | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793) )
        | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ) ),
    inference(miniscope,[status(thm)],[f_238_2]) ).

fof(f_238_4,plain,
    ( ! [U_812,U_810,U_808,U_806,U_804] :
        ( 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804))
        | ? [U_797,U_796] :
            ( ! [U_795] :
                ( ~ 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,U_812)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_812),U_810),U_808),U_796),U_795))
                | hAPP(list(char),option(ty),U_804,U_797) != hAPP(ty,option(ty),some(ty),U_795) )
            & hAPP(list(char),option(val),U_806,U_797) = hAPP(val,option(val),some(val),U_796) ) )
    & ! [U_811,U_809,U_807,U_805,U_803] :
        ( ! [U_794,U_793] :
            ( ( 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,U_811)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_811),U_809),U_807),U_793),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)))
              & hAPP(list(char),option(ty),U_803,U_794) = hAPP(ty,option(ty),some(ty),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)) )
            | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793) )
        | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK57]),skolemize(U_792,sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793))],[f_238_3]) ).

fof(f_238_5,plain,
    ( ! [U_812,U_810,U_808,U_806,U_804] :
        ( 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804))
        | ? [U_796] :
            ( ! [U_795] :
                ( ~ 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,U_812)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_812),U_810),U_808),U_796),U_795))
                | hAPP(list(char),option(ty),U_804,sK58(U_812,U_810,U_808,U_806,U_804)) != hAPP(ty,option(ty),some(ty),U_795) )
            & hAPP(list(char),option(val),U_806,sK58(U_812,U_810,U_808,U_806,U_804)) = hAPP(val,option(val),some(val),U_796) ) )
    & ! [U_811,U_809,U_807,U_805,U_803] :
        ( ! [U_794,U_793] :
            ( ( 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,U_811)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_811),U_809),U_807),U_793),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)))
              & hAPP(list(char),option(ty),U_803,U_794) = hAPP(ty,option(ty),some(ty),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)) )
            | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793) )
        | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK58]),skolemize(U_797,sK58(U_812,U_810,U_808,U_806,U_804))],[f_238_4]) ).

fof(f_238_6,plain,
    ( ! [U_812,U_810,U_808,U_806,U_804] :
        ( 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804))
        | ( ! [U_795] :
              ( ~ 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,U_812)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_812),U_810),U_808),sK59(U_812,U_810,U_808,U_806,U_804)),U_795))
              | hAPP(list(char),option(ty),U_804,sK58(U_812,U_810,U_808,U_806,U_804)) != hAPP(ty,option(ty),some(ty),U_795) )
          & hAPP(list(char),option(val),U_806,sK58(U_812,U_810,U_808,U_806,U_804)) = hAPP(val,option(val),some(val),sK59(U_812,U_810,U_808,U_806,U_804)) ) )
    & ! [U_811,U_809,U_807,U_805,U_803] :
        ( ! [U_794,U_793] :
            ( ( 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,U_811)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_811),U_809),U_807),U_793),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)))
              & hAPP(list(char),option(ty),U_803,U_794) = hAPP(ty,option(ty),some(ty),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)) )
            | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793) )
        | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK59]),skolemize(U_796,sK59(U_812,U_810,U_808,U_806,U_804))],[f_238_5]) ).

cnf(f_238_7,plain,
    ( hAPP(list(char),option(ty),U_803,U_794) = hAPP(ty,option(ty),some(ty),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793))
    | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793)
    | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ),
    inference(clausify,[status(thm)],[f_238_6]) ).

cnf(f_238_8,plain,
    ( 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,U_811)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_811),U_809),U_807),U_793),sK57(U_811,U_809,U_807,U_805,U_803,U_794,U_793)))
    | hAPP(list(char),option(val),U_805,U_794) != hAPP(val,option(val),some(val),U_793)
    | ~ 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,U_811)))))))),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(U_811),U_809),U_807),U_805),U_803)) ),
    inference(clausify,[status(thm)],[f_238_6]) ).

cnf(f_238_9,plain,
    ( hAPP(list(char),option(val),U_806,sK58(U_812,U_810,U_808,U_806,U_804)) = hAPP(val,option(val),some(val),sK59(U_812,U_810,U_808,U_806,U_804))
    | 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804)) ),
    inference(clausify,[status(thm)],[f_238_6]) ).

cnf(f_238_10,plain,
    ( ~ 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,U_812)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_812),U_810),U_808),sK59(U_812,U_810,U_808,U_806,U_804)),U_795))
    | hAPP(list(char),option(ty),U_804,sK58(U_812,U_810,U_808,U_806,U_804)) != hAPP(ty,option(ty),some(ty),U_795)
    | 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,U_812)))))))),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(U_812),U_810),U_808),U_806),U_804)) ),
    inference(clausify,[status(thm)],[f_238_6]) ).

fof(f_239_1,plain,
    ! [Va_1,Va,Hb,Lb,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))),
    inference(fof_nnf,[status(thm)],[fact_91_red__reds_ORedLAss]) ).

fof(f_239_2,plain,
    ! [U_817,U_816,U_815,U_814,U_813] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_817),hAPP(val,exp(list(char)),val_1(list(char)),U_816))),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))),U_815),U_814))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_815),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_814),U_817),hAPP(val,option(val),some(val),U_816)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_813))),
    inference(variable_rename,[status(thm)],[f_239_1]) ).

cnf(f_239_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_817),hAPP(val,exp(list(char)),val_1(list(char)),U_816))),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))),U_815),U_814))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_815),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_814),U_817),hAPP(val,option(val),some(val),U_816)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_813))),
    inference(clausify,[status(thm)],[f_239_2]) ).

fof(f_240_1,plain,
    ! [Hb] : 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,Hb),Hb)),
    inference(fof_nnf,[status(thm)],[fact_92_hext__refl]) ).

fof(f_240_2,plain,
    ! [U_818] : 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,U_818),U_818)),
    inference(variable_rename,[status(thm)],[f_240_1]) ).

cnf(f_240_3,plain,
    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,U_818),U_818)),
    inference(clausify,[status(thm)],[f_240_2]) ).

fof(f_241_1,plain,
    ! [X_b,X_c,X_a,F,G] :
      ( hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F) = ti(fun(product_prod(X_a,X_b),X_c),G)
      | ? [X_2,Y_2] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),F,X_2),Y_2) != hAPP(product_prod(X_a,X_b),X_c,G,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)) ),
    inference(fof_nnf,[status(thm)],[fact_93_cond__split__eta]) ).

fof(f_241_2,plain,
    ! [U_825,U_824,U_823,U_822,U_821] :
      ( hAPP(fun(U_823,fun(U_825,U_824)),fun(product_prod(U_823,U_825),U_824),product_prod_case(U_823,U_825,U_824),U_822) = ti(fun(product_prod(U_823,U_825),U_824),U_821)
      | ? [U_820,U_819] : hAPP(U_825,U_824,hAPP(U_823,fun(U_825,U_824),U_822,U_820),U_819) != hAPP(product_prod(U_823,U_825),U_824,U_821,hAPP(U_825,product_prod(U_823,U_825),hAPP(U_823,fun(U_825,product_prod(U_823,U_825)),product_Pair(U_823,U_825),U_820),U_819)) ),
    inference(variable_rename,[status(thm)],[f_241_1]) ).

fof(f_241_3,plain,
    ! [U_825,U_824,U_823,U_822,U_821] :
      ( hAPP(fun(U_823,fun(U_825,U_824)),fun(product_prod(U_823,U_825),U_824),product_prod_case(U_823,U_825,U_824),U_822) = ti(fun(product_prod(U_823,U_825),U_824),U_821)
      | ? [U_819] : hAPP(U_825,U_824,hAPP(U_823,fun(U_825,U_824),U_822,sK60(U_825,U_824,U_823,U_822,U_821)),U_819) != hAPP(product_prod(U_823,U_825),U_824,U_821,hAPP(U_825,product_prod(U_823,U_825),hAPP(U_823,fun(U_825,product_prod(U_823,U_825)),product_Pair(U_823,U_825),sK60(U_825,U_824,U_823,U_822,U_821)),U_819)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK60]),skolemize(U_820,sK60(U_825,U_824,U_823,U_822,U_821))],[f_241_2]) ).

fof(f_241_4,plain,
    ! [U_825,U_824,U_823,U_822,U_821] :
      ( hAPP(fun(U_823,fun(U_825,U_824)),fun(product_prod(U_823,U_825),U_824),product_prod_case(U_823,U_825,U_824),U_822) = ti(fun(product_prod(U_823,U_825),U_824),U_821)
      | hAPP(U_825,U_824,hAPP(U_823,fun(U_825,U_824),U_822,sK60(U_825,U_824,U_823,U_822,U_821)),sK61(U_825,U_824,U_823,U_822,U_821)) != hAPP(product_prod(U_823,U_825),U_824,U_821,hAPP(U_825,product_prod(U_823,U_825),hAPP(U_823,fun(U_825,product_prod(U_823,U_825)),product_Pair(U_823,U_825),sK60(U_825,U_824,U_823,U_822,U_821)),sK61(U_825,U_824,U_823,U_822,U_821))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK61]),skolemize(U_819,sK61(U_825,U_824,U_823,U_822,U_821))],[f_241_3]) ).

cnf(f_241_5,plain,
    ( hAPP(fun(U_823,fun(U_825,U_824)),fun(product_prod(U_823,U_825),U_824),product_prod_case(U_823,U_825,U_824),U_822) = ti(fun(product_prod(U_823,U_825),U_824),U_821)
    | hAPP(U_825,U_824,hAPP(U_823,fun(U_825,U_824),U_822,sK60(U_825,U_824,U_823,U_822,U_821)),sK61(U_825,U_824,U_823,U_822,U_821)) != hAPP(product_prod(U_823,U_825),U_824,U_821,hAPP(U_825,product_prod(U_823,U_825),hAPP(U_823,fun(U_825,product_prod(U_823,U_825)),product_Pair(U_823,U_825),sK60(U_825,U_824,U_823,U_822,U_821)),sK61(U_825,U_824,U_823,U_822,U_821))) ),
    inference(clausify,[status(thm)],[f_241_4]) ).

fof(f_242_1,plain,
    ! [X_a,X_b,A_1,M_1] :
      ( ? [B_3] : hAPP(X_a,option(X_b),M_1,A_1) = hAPP(X_b,option(X_b),some(X_b),B_3)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1))) ),
    inference(fof_nnf,[status(thm)],[fact_94_domD]) ).

fof(f_242_2,plain,
    ! [U_830,U_829,U_828,U_827] :
      ( ? [U_826] : hAPP(U_830,option(U_829),U_827,U_828) = hAPP(U_829,option(U_829),some(U_829),U_826)
      | ~ hBOOL(hAPP(fun(U_830,bool),bool,hAPP(U_830,fun(fun(U_830,bool),bool),member(U_830),U_828),hAPP(fun(U_830,option(U_829)),fun(U_830,bool),dom(U_830,U_829),U_827))) ),
    inference(variable_rename,[status(thm)],[f_242_1]) ).

fof(f_242_3,plain,
    ! [U_830,U_829,U_828,U_827] :
      ( hAPP(U_830,option(U_829),U_827,U_828) = hAPP(U_829,option(U_829),some(U_829),sK62(U_830,U_829,U_828,U_827))
      | ~ hBOOL(hAPP(fun(U_830,bool),bool,hAPP(U_830,fun(fun(U_830,bool),bool),member(U_830),U_828),hAPP(fun(U_830,option(U_829)),fun(U_830,bool),dom(U_830,U_829),U_827))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK62]),skolemize(U_826,sK62(U_830,U_829,U_828,U_827))],[f_242_2]) ).

cnf(f_242_4,plain,
    ( hAPP(U_830,option(U_829),U_827,U_828) = hAPP(U_829,option(U_829),some(U_829),sK62(U_830,U_829,U_828,U_827))
    | ~ hBOOL(hAPP(fun(U_830,bool),bool,hAPP(U_830,fun(fun(U_830,bool),bool),member(U_830),U_828),hAPP(fun(U_830,option(U_829)),fun(U_830,bool),dom(U_830,U_829),U_827))) ),
    inference(clausify,[status(thm)],[f_242_3]) ).

fof(f_243_1,plain,
    ! [X_a,X_b,X_c,Q_1,Pa,Z_1] :
      ( ? [X_2,Y_2] :
          ( hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),Pa,X_2),Y_2)))
          & ti(product_prod(X_b,X_c),Z_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),X_2),Y_2) )
      | ~ hBOOL(hAPP(X_a,bool,Q_1,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_case(X_b,X_c,X_a),Pa),Z_1))) ),
    inference(fof_nnf,[status(thm)],[fact_95_splitE2]) ).

fof(f_243_2,plain,
    ! [U_838,U_837,U_836,U_835,U_834,U_833] :
      ( ? [U_832,U_831] :
          ( hBOOL(hAPP(U_838,bool,U_835,hAPP(U_836,U_838,hAPP(U_837,fun(U_836,U_838),U_834,U_832),U_831)))
          & ti(product_prod(U_837,U_836),U_833) = hAPP(U_836,product_prod(U_837,U_836),hAPP(U_837,fun(U_836,product_prod(U_837,U_836)),product_Pair(U_837,U_836),U_832),U_831) )
      | ~ hBOOL(hAPP(U_838,bool,U_835,hAPP(product_prod(U_837,U_836),U_838,hAPP(fun(U_837,fun(U_836,U_838)),fun(product_prod(U_837,U_836),U_838),product_prod_case(U_837,U_836,U_838),U_834),U_833))) ),
    inference(variable_rename,[status(thm)],[f_243_1]) ).

fof(f_243_3,plain,
    ! [U_838,U_837,U_836,U_835,U_834,U_833] :
      ( ? [U_831] :
          ( hBOOL(hAPP(U_838,bool,U_835,hAPP(U_836,U_838,hAPP(U_837,fun(U_836,U_838),U_834,sK63(U_838,U_837,U_836,U_835,U_834,U_833)),U_831)))
          & ti(product_prod(U_837,U_836),U_833) = hAPP(U_836,product_prod(U_837,U_836),hAPP(U_837,fun(U_836,product_prod(U_837,U_836)),product_Pair(U_837,U_836),sK63(U_838,U_837,U_836,U_835,U_834,U_833)),U_831) )
      | ~ hBOOL(hAPP(U_838,bool,U_835,hAPP(product_prod(U_837,U_836),U_838,hAPP(fun(U_837,fun(U_836,U_838)),fun(product_prod(U_837,U_836),U_838),product_prod_case(U_837,U_836,U_838),U_834),U_833))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK63]),skolemize(U_832,sK63(U_838,U_837,U_836,U_835,U_834,U_833))],[f_243_2]) ).

fof(f_243_4,plain,
    ! [U_838,U_837,U_836,U_835,U_834,U_833] :
      ( ( hBOOL(hAPP(U_838,bool,U_835,hAPP(U_836,U_838,hAPP(U_837,fun(U_836,U_838),U_834,sK63(U_838,U_837,U_836,U_835,U_834,U_833)),sK64(U_838,U_837,U_836,U_835,U_834,U_833))))
        & ti(product_prod(U_837,U_836),U_833) = hAPP(U_836,product_prod(U_837,U_836),hAPP(U_837,fun(U_836,product_prod(U_837,U_836)),product_Pair(U_837,U_836),sK63(U_838,U_837,U_836,U_835,U_834,U_833)),sK64(U_838,U_837,U_836,U_835,U_834,U_833)) )
      | ~ hBOOL(hAPP(U_838,bool,U_835,hAPP(product_prod(U_837,U_836),U_838,hAPP(fun(U_837,fun(U_836,U_838)),fun(product_prod(U_837,U_836),U_838),product_prod_case(U_837,U_836,U_838),U_834),U_833))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK64]),skolemize(U_831,sK64(U_838,U_837,U_836,U_835,U_834,U_833))],[f_243_3]) ).

cnf(f_243_5,plain,
    ( ti(product_prod(U_837,U_836),U_833) = hAPP(U_836,product_prod(U_837,U_836),hAPP(U_837,fun(U_836,product_prod(U_837,U_836)),product_Pair(U_837,U_836),sK63(U_838,U_837,U_836,U_835,U_834,U_833)),sK64(U_838,U_837,U_836,U_835,U_834,U_833))
    | ~ hBOOL(hAPP(U_838,bool,U_835,hAPP(product_prod(U_837,U_836),U_838,hAPP(fun(U_837,fun(U_836,U_838)),fun(product_prod(U_837,U_836),U_838),product_prod_case(U_837,U_836,U_838),U_834),U_833))) ),
    inference(clausify,[status(thm)],[f_243_4]) ).

cnf(f_243_6,plain,
    ( hBOOL(hAPP(U_838,bool,U_835,hAPP(U_836,U_838,hAPP(U_837,fun(U_836,U_838),U_834,sK63(U_838,U_837,U_836,U_835,U_834,U_833)),sK64(U_838,U_837,U_836,U_835,U_834,U_833))))
    | ~ hBOOL(hAPP(U_838,bool,U_835,hAPP(product_prod(U_837,U_836),U_838,hAPP(fun(U_837,fun(U_836,U_838)),fun(product_prod(U_837,U_836),U_838),product_prod_case(U_837,U_836,U_838),U_834),U_833))) ),
    inference(clausify,[status(thm)],[f_243_4]) ).

fof(f_244_1,plain,
    ! [H_b,Pa,Hb,Ea,Eb,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_1,Pa),H_b),Ea),Eb),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,Hb),H_b))
      | ~ 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_1,Pa),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_96_WTrt__hext__mono]) ).

fof(f_244_2,plain,
    ! [U_844,U_843,U_842,U_841,U_840,U_839] :
      ( 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_1,U_843),U_844),U_841),U_840),U_839))
      | ~ 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,U_842),U_844))
      | ~ 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_1,U_843),U_842),U_841),U_840),U_839)) ),
    inference(variable_rename,[status(thm)],[f_244_1]) ).

cnf(f_244_3,plain,
    ( 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_1,U_843),U_844),U_841),U_840),U_839))
    | ~ 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,U_842),U_844))
    | ~ 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_1,U_843),U_842),U_841),U_840),U_839)) ),
    inference(clausify,[status(thm)],[f_244_2]) ).

fof(f_245_1,plain,
    ! [X_a,X_c,X_b,Z_1,C,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),C),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_1),B))))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),C,A_1),B))) ),
    inference(fof_nnf,[status(thm)],[fact_97_mem__splitI]) ).

fof(f_245_2,plain,
    ! [U_851,U_850,U_849,U_848,U_847,U_846,U_845] :
      ( hBOOL(hAPP(fun(U_851,bool),bool,hAPP(U_851,fun(fun(U_851,bool),bool),member(U_851),U_848),hAPP(product_prod(U_849,U_850),fun(U_851,bool),hAPP(fun(U_849,fun(U_850,fun(U_851,bool))),fun(product_prod(U_849,U_850),fun(U_851,bool)),product_prod_case(U_849,U_850,fun(U_851,bool)),U_847),hAPP(U_850,product_prod(U_849,U_850),hAPP(U_849,fun(U_850,product_prod(U_849,U_850)),product_Pair(U_849,U_850),U_846),U_845))))
      | ~ hBOOL(hAPP(fun(U_851,bool),bool,hAPP(U_851,fun(fun(U_851,bool),bool),member(U_851),U_848),hAPP(U_850,fun(U_851,bool),hAPP(U_849,fun(U_850,fun(U_851,bool)),U_847,U_846),U_845))) ),
    inference(variable_rename,[status(thm)],[f_245_1]) ).

cnf(f_245_3,plain,
    ( hBOOL(hAPP(fun(U_851,bool),bool,hAPP(U_851,fun(fun(U_851,bool),bool),member(U_851),U_848),hAPP(product_prod(U_849,U_850),fun(U_851,bool),hAPP(fun(U_849,fun(U_850,fun(U_851,bool))),fun(product_prod(U_849,U_850),fun(U_851,bool)),product_prod_case(U_849,U_850,fun(U_851,bool)),U_847),hAPP(U_850,product_prod(U_849,U_850),hAPP(U_849,fun(U_850,product_prod(U_849,U_850)),product_Pair(U_849,U_850),U_846),U_845))))
    | ~ hBOOL(hAPP(fun(U_851,bool),bool,hAPP(U_851,fun(fun(U_851,bool),bool),member(U_851),U_848),hAPP(U_850,fun(U_851,bool),hAPP(U_849,fun(U_850,fun(U_851,bool)),U_847,U_846),U_845))) ),
    inference(clausify,[status(thm)],[f_245_2]) ).

fof(f_246_1,plain,
    ! [X_c,X_a,X_b,R_1,A_1,B,C] :
      ( hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),R_1,A_1),B),C))
      | ~ hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),R_1),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B)),C)) ),
    inference(fof_nnf,[status(thm)],[fact_98_splitD_H]) ).

fof(f_246_2,plain,
    ! [U_858,U_857,U_856,U_855,U_854,U_853,U_852] :
      ( hBOOL(hAPP(U_858,bool,hAPP(U_856,fun(U_858,bool),hAPP(U_857,fun(U_856,fun(U_858,bool)),U_855,U_854),U_853),U_852))
      | ~ hBOOL(hAPP(U_858,bool,hAPP(product_prod(U_857,U_856),fun(U_858,bool),hAPP(fun(U_857,fun(U_856,fun(U_858,bool))),fun(product_prod(U_857,U_856),fun(U_858,bool)),product_prod_case(U_857,U_856,fun(U_858,bool)),U_855),hAPP(U_856,product_prod(U_857,U_856),hAPP(U_857,fun(U_856,product_prod(U_857,U_856)),product_Pair(U_857,U_856),U_854),U_853)),U_852)) ),
    inference(variable_rename,[status(thm)],[f_246_1]) ).

cnf(f_246_3,plain,
    ( hBOOL(hAPP(U_858,bool,hAPP(U_856,fun(U_858,bool),hAPP(U_857,fun(U_856,fun(U_858,bool)),U_855,U_854),U_853),U_852))
    | ~ hBOOL(hAPP(U_858,bool,hAPP(product_prod(U_857,U_856),fun(U_858,bool),hAPP(fun(U_857,fun(U_856,fun(U_858,bool))),fun(product_prod(U_857,U_856),fun(U_858,bool)),product_prod_case(U_857,U_856,fun(U_858,bool)),U_855),hAPP(U_856,product_prod(U_857,U_856),hAPP(U_857,fun(U_856,product_prod(U_857,U_856)),product_Pair(U_857,U_856),U_854),U_853)),U_852)) ),
    inference(clausify,[status(thm)],[f_246_2]) ).

fof(f_247_1,plain,
    ! [Fs_2,Hb,A_1,C_1,Fs] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hext,Hb),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)) ),
    inference(fof_nnf,[status(thm)],[fact_99_hext__upd__obj]) ).

fof(f_247_2,plain,
    ! [U_863,U_862,U_861,U_860,U_859] :
      ( 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,U_862),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_862),U_861),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))),U_860),U_863)))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_862,U_861) != 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))),U_860),U_859)) ),
    inference(variable_rename,[status(thm)],[f_247_1]) ).

fof(f_247_3,plain,
    ! [U_863,U_862,U_861,U_860] :
      ( ! [U_859] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_862,U_861) != 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))),U_860),U_859))
      | 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,U_862),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_862),U_861),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))),U_860),U_863))))) ),
    inference(miniscope,[status(thm)],[f_247_2]) ).

cnf(f_247_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_862,U_861) != 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))),U_860),U_859))
    | 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,U_862),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_862),U_861),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))),U_860),U_863))))) ),
    inference(clausify,[status(thm)],[f_247_3]) ).

fof(f_248_1,plain,
    ! [H_4,Hb,H_b] :
      ( 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,Hb),H_4))
      | ~ 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_b),H_4))
      | ~ 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,Hb),H_b)) ),
    inference(fof_nnf,[status(thm)],[fact_100_hext__trans]) ).

fof(f_248_2,plain,
    ! [U_866,U_865,U_864] :
      ( 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,U_865),U_866))
      | ~ 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,U_864),U_866))
      | ~ 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,U_865),U_864)) ),
    inference(variable_rename,[status(thm)],[f_248_1]) ).

cnf(f_248_3,plain,
    ( 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,U_865),U_866))
    | ~ 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,U_864),U_866))
    | ~ 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,U_865),U_864)) ),
    inference(clausify,[status(thm)],[f_248_2]) ).

fof(f_249_1,plain,
    ! [A_1,C_1,Fs,Hb,H_b] :
      ( ? [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,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_3))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
      | ~ 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,Hb),H_b)) ),
    inference(fof_nnf,[status(thm)],[fact_101_hext__objD]) ).

fof(f_249_2,plain,
    ! [U_872,U_871,U_870,U_869,U_868] :
      ( ? [U_867] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_868,U_872) = 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))),U_871),U_867))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_869,U_872) != 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))),U_871),U_870))
      | ~ 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,U_869),U_868)) ),
    inference(variable_rename,[status(thm)],[f_249_1]) ).

fof(f_249_3,plain,
    ! [U_872,U_871,U_870,U_869,U_868] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_868,U_872) = 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))),U_871),sK65(U_872,U_871,U_870,U_869,U_868)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_869,U_872) != 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))),U_871),U_870))
      | ~ 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,U_869),U_868)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK65]),skolemize(U_867,sK65(U_872,U_871,U_870,U_869,U_868))],[f_249_2]) ).

cnf(f_249_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_868,U_872) = 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))),U_871),sK65(U_872,U_871,U_870,U_869,U_868)))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_869,U_872) != 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))),U_871),U_870))
    | ~ 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,U_869),U_868)) ),
    inference(clausify,[status(thm)],[f_249_3]) ).

fof(f_250_1,plain,
    ! [Hb,H_b] :
      ( ( 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,Hb),H_b))
        | ? [A_3,C_2,Fs_1] :
            ( ! [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,A_3) != hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_3))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_1)) ) )
      & ( ! [A_3,C_2,Fs_1] :
            ( ? [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_3))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) != hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),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,Hb),H_b)) ) ),
    inference(fof_nnf,[status(thm)],[fact_102_hext__def]) ).

fof(f_250_2,plain,
    ! [U_882,U_881] :
      ( ( 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,U_882),U_881))
        | ? [U_880,U_879,U_878] :
            ( ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_881,U_880) != 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))),U_879),U_877))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_882,U_880) = 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))),U_879),U_878)) ) )
      & ( ! [U_876,U_875,U_874] :
            ( ? [U_873] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_881,U_876) = 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))),U_875),U_873))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_882,U_876) != 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))),U_875),U_874)) )
        | ~ 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,U_882),U_881)) ) ),
    inference(variable_rename,[status(thm)],[f_250_1]) ).

fof(f_250_3,plain,
    ( ! [U_886,U_884] :
        ( 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,U_886),U_884))
        | ? [U_880,U_879] :
            ( ? [U_878] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,U_880) = 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))),U_879),U_878))
            & ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,U_880) != 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))),U_879),U_877)) ) )
    & ! [U_885,U_883] :
        ( ! [U_876,U_875] :
            ( ! [U_874] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
            | ? [U_873] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),U_873)) )
        | ~ 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,U_885),U_883)) ) ),
    inference(miniscope,[status(thm)],[f_250_2]) ).

fof(f_250_4,plain,
    ( ! [U_886,U_884] :
        ( 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,U_886),U_884))
        | ? [U_880,U_879] :
            ( ? [U_878] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,U_880) = 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))),U_879),U_878))
            & ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,U_880) != 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))),U_879),U_877)) ) )
    & ! [U_885,U_883] :
        ( ! [U_876,U_875] :
            ( ! [U_874] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),sK66(U_885,U_883,U_876,U_875))) )
        | ~ 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,U_885),U_883)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK66]),skolemize(U_873,sK66(U_885,U_883,U_876,U_875))],[f_250_3]) ).

fof(f_250_5,plain,
    ( ! [U_886,U_884] :
        ( 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,U_886),U_884))
        | ? [U_879] :
            ( ? [U_878] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,sK67(U_886,U_884)) = 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))),U_879),U_878))
            & ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,sK67(U_886,U_884)) != 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))),U_879),U_877)) ) )
    & ! [U_885,U_883] :
        ( ! [U_876,U_875] :
            ( ! [U_874] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),sK66(U_885,U_883,U_876,U_875))) )
        | ~ 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,U_885),U_883)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK67]),skolemize(U_880,sK67(U_886,U_884))],[f_250_4]) ).

fof(f_250_6,plain,
    ( ! [U_886,U_884] :
        ( 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,U_886),U_884))
        | ( ? [U_878] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,sK67(U_886,U_884)) = 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))),sK68(U_886,U_884)),U_878))
          & ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,sK67(U_886,U_884)) != 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))),sK68(U_886,U_884)),U_877)) ) )
    & ! [U_885,U_883] :
        ( ! [U_876,U_875] :
            ( ! [U_874] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),sK66(U_885,U_883,U_876,U_875))) )
        | ~ 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,U_885),U_883)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK68]),skolemize(U_879,sK68(U_886,U_884))],[f_250_5]) ).

fof(f_250_7,plain,
    ( ! [U_886,U_884] :
        ( 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,U_886),U_884))
        | ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,sK67(U_886,U_884)) = 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))),sK68(U_886,U_884)),sK69(U_886,U_884)))
          & ! [U_877] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,sK67(U_886,U_884)) != 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))),sK68(U_886,U_884)),U_877)) ) )
    & ! [U_885,U_883] :
        ( ! [U_876,U_875] :
            ( ! [U_874] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
            | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),sK66(U_885,U_883,U_876,U_875))) )
        | ~ 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,U_885),U_883)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK69]),skolemize(U_878,sK69(U_886,U_884))],[f_250_6]) ).

cnf(f_250_8,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_885,U_876) != 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))),U_875),U_874))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_883,U_876) = 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))),U_875),sK66(U_885,U_883,U_876,U_875)))
    | ~ 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,U_885),U_883)) ),
    inference(clausify,[status(thm)],[f_250_7]) ).

cnf(f_250_9,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_884,sK67(U_886,U_884)) != 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))),sK68(U_886,U_884)),U_877))
    | 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,U_886),U_884)) ),
    inference(clausify,[status(thm)],[f_250_7]) ).

cnf(f_250_10,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_886,sK67(U_886,U_884)) = 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))),sK68(U_886,U_884)),sK69(U_886,U_884)))
    | 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,U_886),U_884)) ),
    inference(clausify,[status(thm)],[f_250_7]) ).

fof(f_251_1,plain,
    ! [X_c,X_a,X_b,Z_1,C,P_1] :
      ( hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_1),hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1)))
      | ? [A_3,B_3] :
          ( ~ hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_1),hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,A_3),B_3)))
          & 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),A_3),B_3) ) ),
    inference(fof_nnf,[status(thm)],[fact_103_mem__splitI2]) ).

fof(f_251_2,plain,
    ! [U_894,U_893,U_892,U_891,U_890,U_889] :
      ( hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(product_prod(U_893,U_892),fun(U_894,bool),hAPP(fun(U_893,fun(U_892,fun(U_894,bool))),fun(product_prod(U_893,U_892),fun(U_894,bool)),product_prod_case(U_893,U_892,fun(U_894,bool)),U_890),U_889)))
      | ? [U_888,U_887] :
          ( ~ hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(U_892,fun(U_894,bool),hAPP(U_893,fun(U_892,fun(U_894,bool)),U_890,U_888),U_887)))
          & ti(product_prod(U_893,U_892),U_889) = hAPP(U_892,product_prod(U_893,U_892),hAPP(U_893,fun(U_892,product_prod(U_893,U_892)),product_Pair(U_893,U_892),U_888),U_887) ) ),
    inference(variable_rename,[status(thm)],[f_251_1]) ).

fof(f_251_3,plain,
    ! [U_894,U_893,U_892,U_891,U_890,U_889] :
      ( hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(product_prod(U_893,U_892),fun(U_894,bool),hAPP(fun(U_893,fun(U_892,fun(U_894,bool))),fun(product_prod(U_893,U_892),fun(U_894,bool)),product_prod_case(U_893,U_892,fun(U_894,bool)),U_890),U_889)))
      | ? [U_887] :
          ( ~ hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(U_892,fun(U_894,bool),hAPP(U_893,fun(U_892,fun(U_894,bool)),U_890,sK70(U_894,U_893,U_892,U_891,U_890,U_889)),U_887)))
          & ti(product_prod(U_893,U_892),U_889) = hAPP(U_892,product_prod(U_893,U_892),hAPP(U_893,fun(U_892,product_prod(U_893,U_892)),product_Pair(U_893,U_892),sK70(U_894,U_893,U_892,U_891,U_890,U_889)),U_887) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK70]),skolemize(U_888,sK70(U_894,U_893,U_892,U_891,U_890,U_889))],[f_251_2]) ).

fof(f_251_4,plain,
    ! [U_894,U_893,U_892,U_891,U_890,U_889] :
      ( hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(product_prod(U_893,U_892),fun(U_894,bool),hAPP(fun(U_893,fun(U_892,fun(U_894,bool))),fun(product_prod(U_893,U_892),fun(U_894,bool)),product_prod_case(U_893,U_892,fun(U_894,bool)),U_890),U_889)))
      | ( ~ hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(U_892,fun(U_894,bool),hAPP(U_893,fun(U_892,fun(U_894,bool)),U_890,sK70(U_894,U_893,U_892,U_891,U_890,U_889)),sK71(U_894,U_893,U_892,U_891,U_890,U_889))))
        & ti(product_prod(U_893,U_892),U_889) = hAPP(U_892,product_prod(U_893,U_892),hAPP(U_893,fun(U_892,product_prod(U_893,U_892)),product_Pair(U_893,U_892),sK70(U_894,U_893,U_892,U_891,U_890,U_889)),sK71(U_894,U_893,U_892,U_891,U_890,U_889)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK71]),skolemize(U_887,sK71(U_894,U_893,U_892,U_891,U_890,U_889))],[f_251_3]) ).

cnf(f_251_5,plain,
    ( ti(product_prod(U_893,U_892),U_889) = hAPP(U_892,product_prod(U_893,U_892),hAPP(U_893,fun(U_892,product_prod(U_893,U_892)),product_Pair(U_893,U_892),sK70(U_894,U_893,U_892,U_891,U_890,U_889)),sK71(U_894,U_893,U_892,U_891,U_890,U_889))
    | hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(product_prod(U_893,U_892),fun(U_894,bool),hAPP(fun(U_893,fun(U_892,fun(U_894,bool))),fun(product_prod(U_893,U_892),fun(U_894,bool)),product_prod_case(U_893,U_892,fun(U_894,bool)),U_890),U_889))) ),
    inference(clausify,[status(thm)],[f_251_4]) ).

cnf(f_251_6,plain,
    ( ~ hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(U_892,fun(U_894,bool),hAPP(U_893,fun(U_892,fun(U_894,bool)),U_890,sK70(U_894,U_893,U_892,U_891,U_890,U_889)),sK71(U_894,U_893,U_892,U_891,U_890,U_889))))
    | hBOOL(hAPP(fun(U_894,bool),bool,hAPP(U_894,fun(fun(U_894,bool),bool),member(U_894),U_891),hAPP(product_prod(U_893,U_892),fun(U_894,bool),hAPP(fun(U_893,fun(U_892,fun(U_894,bool))),fun(product_prod(U_893,U_892),fun(U_894,bool)),product_prod_case(U_893,U_892,fun(U_894,bool)),U_890),U_889))) ),
    inference(clausify,[status(thm)],[f_251_4]) ).

fof(f_252_1,plain,
    ! [X_c,X_b,X_a,C,X_1,P_1] :
      ( hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1),X_1))
      | ? [A_3,B_3] :
          ( ~ hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,A_3),B_3),X_1))
          & hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B_3) = ti(product_prod(X_a,X_b),P_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_104_splitI2_H]) ).

fof(f_252_2,plain,
    ! [U_902,U_901,U_900,U_899,U_898,U_897] :
      ( hBOOL(hAPP(U_902,bool,hAPP(product_prod(U_900,U_901),fun(U_902,bool),hAPP(fun(U_900,fun(U_901,fun(U_902,bool))),fun(product_prod(U_900,U_901),fun(U_902,bool)),product_prod_case(U_900,U_901,fun(U_902,bool)),U_899),U_897),U_898))
      | ? [U_896,U_895] :
          ( ~ hBOOL(hAPP(U_902,bool,hAPP(U_901,fun(U_902,bool),hAPP(U_900,fun(U_901,fun(U_902,bool)),U_899,U_896),U_895),U_898))
          & hAPP(U_901,product_prod(U_900,U_901),hAPP(U_900,fun(U_901,product_prod(U_900,U_901)),product_Pair(U_900,U_901),U_896),U_895) = ti(product_prod(U_900,U_901),U_897) ) ),
    inference(variable_rename,[status(thm)],[f_252_1]) ).

fof(f_252_3,plain,
    ! [U_902,U_901,U_900,U_899,U_898,U_897] :
      ( hBOOL(hAPP(U_902,bool,hAPP(product_prod(U_900,U_901),fun(U_902,bool),hAPP(fun(U_900,fun(U_901,fun(U_902,bool))),fun(product_prod(U_900,U_901),fun(U_902,bool)),product_prod_case(U_900,U_901,fun(U_902,bool)),U_899),U_897),U_898))
      | ? [U_895] :
          ( ~ hBOOL(hAPP(U_902,bool,hAPP(U_901,fun(U_902,bool),hAPP(U_900,fun(U_901,fun(U_902,bool)),U_899,sK72(U_902,U_901,U_900,U_899,U_898,U_897)),U_895),U_898))
          & hAPP(U_901,product_prod(U_900,U_901),hAPP(U_900,fun(U_901,product_prod(U_900,U_901)),product_Pair(U_900,U_901),sK72(U_902,U_901,U_900,U_899,U_898,U_897)),U_895) = ti(product_prod(U_900,U_901),U_897) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK72]),skolemize(U_896,sK72(U_902,U_901,U_900,U_899,U_898,U_897))],[f_252_2]) ).

fof(f_252_4,plain,
    ! [U_902,U_901,U_900,U_899,U_898,U_897] :
      ( hBOOL(hAPP(U_902,bool,hAPP(product_prod(U_900,U_901),fun(U_902,bool),hAPP(fun(U_900,fun(U_901,fun(U_902,bool))),fun(product_prod(U_900,U_901),fun(U_902,bool)),product_prod_case(U_900,U_901,fun(U_902,bool)),U_899),U_897),U_898))
      | ( ~ hBOOL(hAPP(U_902,bool,hAPP(U_901,fun(U_902,bool),hAPP(U_900,fun(U_901,fun(U_902,bool)),U_899,sK72(U_902,U_901,U_900,U_899,U_898,U_897)),sK73(U_902,U_901,U_900,U_899,U_898,U_897)),U_898))
        & hAPP(U_901,product_prod(U_900,U_901),hAPP(U_900,fun(U_901,product_prod(U_900,U_901)),product_Pair(U_900,U_901),sK72(U_902,U_901,U_900,U_899,U_898,U_897)),sK73(U_902,U_901,U_900,U_899,U_898,U_897)) = ti(product_prod(U_900,U_901),U_897) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK73]),skolemize(U_895,sK73(U_902,U_901,U_900,U_899,U_898,U_897))],[f_252_3]) ).

cnf(f_252_5,plain,
    ( hAPP(U_901,product_prod(U_900,U_901),hAPP(U_900,fun(U_901,product_prod(U_900,U_901)),product_Pair(U_900,U_901),sK72(U_902,U_901,U_900,U_899,U_898,U_897)),sK73(U_902,U_901,U_900,U_899,U_898,U_897)) = ti(product_prod(U_900,U_901),U_897)
    | hBOOL(hAPP(U_902,bool,hAPP(product_prod(U_900,U_901),fun(U_902,bool),hAPP(fun(U_900,fun(U_901,fun(U_902,bool))),fun(product_prod(U_900,U_901),fun(U_902,bool)),product_prod_case(U_900,U_901,fun(U_902,bool)),U_899),U_897),U_898)) ),
    inference(clausify,[status(thm)],[f_252_4]) ).

cnf(f_252_6,plain,
    ( ~ hBOOL(hAPP(U_902,bool,hAPP(U_901,fun(U_902,bool),hAPP(U_900,fun(U_901,fun(U_902,bool)),U_899,sK72(U_902,U_901,U_900,U_899,U_898,U_897)),sK73(U_902,U_901,U_900,U_899,U_898,U_897)),U_898))
    | hBOOL(hAPP(U_902,bool,hAPP(product_prod(U_900,U_901),fun(U_902,bool),hAPP(fun(U_900,fun(U_901,fun(U_902,bool))),fun(product_prod(U_900,U_901),fun(U_902,bool)),product_prod_case(U_900,U_901,fun(U_902,bool)),U_899),U_897),U_898)) ),
    inference(clausify,[status(thm)],[f_252_4]) ).

fof(f_253_1,plain,
    ! [X_a,X_b,X_c,Z_1,C,P_1] :
      ( ? [X_2,Y_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),C,X_2),Y_2)))
          & ti(product_prod(X_b,X_c),P_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),X_2),Y_2) )
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_1),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),C),P_1))) ),
    inference(fof_nnf,[status(thm)],[fact_105_mem__splitE]) ).

fof(f_253_2,plain,
    ! [U_910,U_909,U_908,U_907,U_906,U_905] :
      ( ? [U_904,U_903] :
          ( hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(U_908,fun(U_910,bool),hAPP(U_909,fun(U_908,fun(U_910,bool)),U_906,U_904),U_903)))
          & ti(product_prod(U_909,U_908),U_905) = hAPP(U_908,product_prod(U_909,U_908),hAPP(U_909,fun(U_908,product_prod(U_909,U_908)),product_Pair(U_909,U_908),U_904),U_903) )
      | ~ hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(product_prod(U_909,U_908),fun(U_910,bool),hAPP(fun(U_909,fun(U_908,fun(U_910,bool))),fun(product_prod(U_909,U_908),fun(U_910,bool)),product_prod_case(U_909,U_908,fun(U_910,bool)),U_906),U_905))) ),
    inference(variable_rename,[status(thm)],[f_253_1]) ).

fof(f_253_3,plain,
    ! [U_910,U_909,U_908,U_907,U_906,U_905] :
      ( ? [U_903] :
          ( hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(U_908,fun(U_910,bool),hAPP(U_909,fun(U_908,fun(U_910,bool)),U_906,sK74(U_910,U_909,U_908,U_907,U_906,U_905)),U_903)))
          & ti(product_prod(U_909,U_908),U_905) = hAPP(U_908,product_prod(U_909,U_908),hAPP(U_909,fun(U_908,product_prod(U_909,U_908)),product_Pair(U_909,U_908),sK74(U_910,U_909,U_908,U_907,U_906,U_905)),U_903) )
      | ~ hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(product_prod(U_909,U_908),fun(U_910,bool),hAPP(fun(U_909,fun(U_908,fun(U_910,bool))),fun(product_prod(U_909,U_908),fun(U_910,bool)),product_prod_case(U_909,U_908,fun(U_910,bool)),U_906),U_905))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK74]),skolemize(U_904,sK74(U_910,U_909,U_908,U_907,U_906,U_905))],[f_253_2]) ).

fof(f_253_4,plain,
    ! [U_910,U_909,U_908,U_907,U_906,U_905] :
      ( ( hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(U_908,fun(U_910,bool),hAPP(U_909,fun(U_908,fun(U_910,bool)),U_906,sK74(U_910,U_909,U_908,U_907,U_906,U_905)),sK75(U_910,U_909,U_908,U_907,U_906,U_905))))
        & ti(product_prod(U_909,U_908),U_905) = hAPP(U_908,product_prod(U_909,U_908),hAPP(U_909,fun(U_908,product_prod(U_909,U_908)),product_Pair(U_909,U_908),sK74(U_910,U_909,U_908,U_907,U_906,U_905)),sK75(U_910,U_909,U_908,U_907,U_906,U_905)) )
      | ~ hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(product_prod(U_909,U_908),fun(U_910,bool),hAPP(fun(U_909,fun(U_908,fun(U_910,bool))),fun(product_prod(U_909,U_908),fun(U_910,bool)),product_prod_case(U_909,U_908,fun(U_910,bool)),U_906),U_905))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK75]),skolemize(U_903,sK75(U_910,U_909,U_908,U_907,U_906,U_905))],[f_253_3]) ).

cnf(f_253_5,plain,
    ( ti(product_prod(U_909,U_908),U_905) = hAPP(U_908,product_prod(U_909,U_908),hAPP(U_909,fun(U_908,product_prod(U_909,U_908)),product_Pair(U_909,U_908),sK74(U_910,U_909,U_908,U_907,U_906,U_905)),sK75(U_910,U_909,U_908,U_907,U_906,U_905))
    | ~ hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(product_prod(U_909,U_908),fun(U_910,bool),hAPP(fun(U_909,fun(U_908,fun(U_910,bool))),fun(product_prod(U_909,U_908),fun(U_910,bool)),product_prod_case(U_909,U_908,fun(U_910,bool)),U_906),U_905))) ),
    inference(clausify,[status(thm)],[f_253_4]) ).

cnf(f_253_6,plain,
    ( hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(U_908,fun(U_910,bool),hAPP(U_909,fun(U_908,fun(U_910,bool)),U_906,sK74(U_910,U_909,U_908,U_907,U_906,U_905)),sK75(U_910,U_909,U_908,U_907,U_906,U_905))))
    | ~ hBOOL(hAPP(fun(U_910,bool),bool,hAPP(U_910,fun(fun(U_910,bool),bool),member(U_910),U_907),hAPP(product_prod(U_909,U_908),fun(U_910,bool),hAPP(fun(U_909,fun(U_908,fun(U_910,bool))),fun(product_prod(U_909,U_908),fun(U_910,bool)),product_prod_case(U_909,U_908,fun(U_910,bool)),U_906),U_905))) ),
    inference(clausify,[status(thm)],[f_253_4]) ).

fof(f_254_1,plain,
    ! [X_c,X_a,X_b,C,P_1,Z_1] :
      ( ? [X_2,Y_2] :
          ( hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),C,X_2),Y_2),Z_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_2) )
      | ~ hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),C),P_1),Z_1)) ),
    inference(fof_nnf,[status(thm)],[fact_106_splitE_H]) ).

fof(f_254_2,plain,
    ! [U_918,U_917,U_916,U_915,U_914,U_913] :
      ( ? [U_912,U_911] :
          ( hBOOL(hAPP(U_918,bool,hAPP(U_916,fun(U_918,bool),hAPP(U_917,fun(U_916,fun(U_918,bool)),U_915,U_912),U_911),U_913))
          & ti(product_prod(U_917,U_916),U_914) = hAPP(U_916,product_prod(U_917,U_916),hAPP(U_917,fun(U_916,product_prod(U_917,U_916)),product_Pair(U_917,U_916),U_912),U_911) )
      | ~ hBOOL(hAPP(U_918,bool,hAPP(product_prod(U_917,U_916),fun(U_918,bool),hAPP(fun(U_917,fun(U_916,fun(U_918,bool))),fun(product_prod(U_917,U_916),fun(U_918,bool)),product_prod_case(U_917,U_916,fun(U_918,bool)),U_915),U_914),U_913)) ),
    inference(variable_rename,[status(thm)],[f_254_1]) ).

fof(f_254_3,plain,
    ! [U_918,U_917,U_916,U_915,U_914,U_913] :
      ( ? [U_911] :
          ( hBOOL(hAPP(U_918,bool,hAPP(U_916,fun(U_918,bool),hAPP(U_917,fun(U_916,fun(U_918,bool)),U_915,sK76(U_918,U_917,U_916,U_915,U_914,U_913)),U_911),U_913))
          & ti(product_prod(U_917,U_916),U_914) = hAPP(U_916,product_prod(U_917,U_916),hAPP(U_917,fun(U_916,product_prod(U_917,U_916)),product_Pair(U_917,U_916),sK76(U_918,U_917,U_916,U_915,U_914,U_913)),U_911) )
      | ~ hBOOL(hAPP(U_918,bool,hAPP(product_prod(U_917,U_916),fun(U_918,bool),hAPP(fun(U_917,fun(U_916,fun(U_918,bool))),fun(product_prod(U_917,U_916),fun(U_918,bool)),product_prod_case(U_917,U_916,fun(U_918,bool)),U_915),U_914),U_913)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK76]),skolemize(U_912,sK76(U_918,U_917,U_916,U_915,U_914,U_913))],[f_254_2]) ).

fof(f_254_4,plain,
    ! [U_918,U_917,U_916,U_915,U_914,U_913] :
      ( ( hBOOL(hAPP(U_918,bool,hAPP(U_916,fun(U_918,bool),hAPP(U_917,fun(U_916,fun(U_918,bool)),U_915,sK76(U_918,U_917,U_916,U_915,U_914,U_913)),sK77(U_918,U_917,U_916,U_915,U_914,U_913)),U_913))
        & ti(product_prod(U_917,U_916),U_914) = hAPP(U_916,product_prod(U_917,U_916),hAPP(U_917,fun(U_916,product_prod(U_917,U_916)),product_Pair(U_917,U_916),sK76(U_918,U_917,U_916,U_915,U_914,U_913)),sK77(U_918,U_917,U_916,U_915,U_914,U_913)) )
      | ~ hBOOL(hAPP(U_918,bool,hAPP(product_prod(U_917,U_916),fun(U_918,bool),hAPP(fun(U_917,fun(U_916,fun(U_918,bool))),fun(product_prod(U_917,U_916),fun(U_918,bool)),product_prod_case(U_917,U_916,fun(U_918,bool)),U_915),U_914),U_913)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK77]),skolemize(U_911,sK77(U_918,U_917,U_916,U_915,U_914,U_913))],[f_254_3]) ).

cnf(f_254_5,plain,
    ( ti(product_prod(U_917,U_916),U_914) = hAPP(U_916,product_prod(U_917,U_916),hAPP(U_917,fun(U_916,product_prod(U_917,U_916)),product_Pair(U_917,U_916),sK76(U_918,U_917,U_916,U_915,U_914,U_913)),sK77(U_918,U_917,U_916,U_915,U_914,U_913))
    | ~ hBOOL(hAPP(U_918,bool,hAPP(product_prod(U_917,U_916),fun(U_918,bool),hAPP(fun(U_917,fun(U_916,fun(U_918,bool))),fun(product_prod(U_917,U_916),fun(U_918,bool)),product_prod_case(U_917,U_916,fun(U_918,bool)),U_915),U_914),U_913)) ),
    inference(clausify,[status(thm)],[f_254_4]) ).

cnf(f_254_6,plain,
    ( hBOOL(hAPP(U_918,bool,hAPP(U_916,fun(U_918,bool),hAPP(U_917,fun(U_916,fun(U_918,bool)),U_915,sK76(U_918,U_917,U_916,U_915,U_914,U_913)),sK77(U_918,U_917,U_916,U_915,U_914,U_913)),U_913))
    | ~ hBOOL(hAPP(U_918,bool,hAPP(product_prod(U_917,U_916),fun(U_918,bool),hAPP(fun(U_917,fun(U_916,fun(U_918,bool))),fun(product_prod(U_917,U_916),fun(U_918,bool)),product_prod_case(U_917,U_916,fun(U_918,bool)),U_915),U_914),U_913)) ),
    inference(clausify,[status(thm)],[f_254_4]) ).

fof(f_255_1,plain,
    ! [X_a,Va_1,Eb,A_2] :
      ( ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),Va_1),Eb)),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) )
      & ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),Va_1),Eb)),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_107__092_060D_062___092_060D_062s_Osimps_I6_J]) ).

fof(f_255_2,plain,
    ! [U_922,U_921,U_920,U_919] :
      ( ( hBOOL(hAPP(option(fun(U_922,bool)),bool,hAPP(exp(U_922),fun(option(fun(U_922,bool)),bool),d(U_922),hAPP(exp(U_922),exp(U_922),hAPP(U_922,fun(exp(U_922),exp(U_922)),lAss(U_922),U_921),U_920)),U_919))
        | ~ hBOOL(hAPP(option(fun(U_922,bool)),bool,hAPP(exp(U_922),fun(option(fun(U_922,bool)),bool),d(U_922),U_920),U_919)) )
      & ( hBOOL(hAPP(option(fun(U_922,bool)),bool,hAPP(exp(U_922),fun(option(fun(U_922,bool)),bool),d(U_922),U_920),U_919))
        | ~ hBOOL(hAPP(option(fun(U_922,bool)),bool,hAPP(exp(U_922),fun(option(fun(U_922,bool)),bool),d(U_922),hAPP(exp(U_922),exp(U_922),hAPP(U_922,fun(exp(U_922),exp(U_922)),lAss(U_922),U_921),U_920)),U_919)) ) ),
    inference(variable_rename,[status(thm)],[f_255_1]) ).

fof(f_255_3,plain,
    ( ! [U_930,U_928,U_926,U_924] :
        ( hBOOL(hAPP(option(fun(U_930,bool)),bool,hAPP(exp(U_930),fun(option(fun(U_930,bool)),bool),d(U_930),hAPP(exp(U_930),exp(U_930),hAPP(U_930,fun(exp(U_930),exp(U_930)),lAss(U_930),U_928),U_926)),U_924))
        | ~ hBOOL(hAPP(option(fun(U_930,bool)),bool,hAPP(exp(U_930),fun(option(fun(U_930,bool)),bool),d(U_930),U_926),U_924)) )
    & ! [U_929,U_927,U_925,U_923] :
        ( hBOOL(hAPP(option(fun(U_929,bool)),bool,hAPP(exp(U_929),fun(option(fun(U_929,bool)),bool),d(U_929),U_925),U_923))
        | ~ hBOOL(hAPP(option(fun(U_929,bool)),bool,hAPP(exp(U_929),fun(option(fun(U_929,bool)),bool),d(U_929),hAPP(exp(U_929),exp(U_929),hAPP(U_929,fun(exp(U_929),exp(U_929)),lAss(U_929),U_927),U_925)),U_923)) ) ),
    inference(miniscope,[status(thm)],[f_255_2]) ).

cnf(f_255_4,plain,
    ( hBOOL(hAPP(option(fun(U_929,bool)),bool,hAPP(exp(U_929),fun(option(fun(U_929,bool)),bool),d(U_929),U_925),U_923))
    | ~ hBOOL(hAPP(option(fun(U_929,bool)),bool,hAPP(exp(U_929),fun(option(fun(U_929,bool)),bool),d(U_929),hAPP(exp(U_929),exp(U_929),hAPP(U_929,fun(exp(U_929),exp(U_929)),lAss(U_929),U_927),U_925)),U_923)) ),
    inference(clausify,[status(thm)],[f_255_3]) ).

cnf(f_255_5,plain,
    ( hBOOL(hAPP(option(fun(U_930,bool)),bool,hAPP(exp(U_930),fun(option(fun(U_930,bool)),bool),d(U_930),hAPP(exp(U_930),exp(U_930),hAPP(U_930,fun(exp(U_930),exp(U_930)),lAss(U_930),U_928),U_926)),U_924))
    | ~ hBOOL(hAPP(option(fun(U_930,bool)),bool,hAPP(exp(U_930),fun(option(fun(U_930,bool)),bool),d(U_930),U_926),U_924)) ),
    inference(clausify,[status(thm)],[f_255_3]) ).

fof(f_256_1,plain,
    ! [X_a,A_6,Ty,Exp_1,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_108_exp_Osimps_I143_J]) ).

fof(f_256_2,plain,
    ! [U_936,U_935,U_934,U_933,U_932,U_931] : hAPP(exp(U_936),exp(U_936),hAPP(ty,fun(exp(U_936),exp(U_936)),hAPP(U_936,fun(ty,fun(exp(U_936),exp(U_936))),block(U_936),U_935),U_934),U_933) != hAPP(exp(U_936),exp(U_936),hAPP(U_936,fun(exp(U_936),exp(U_936)),lAss(U_936),U_932),U_931),
    inference(variable_rename,[status(thm)],[f_256_1]) ).

cnf(f_256_3,plain,
    hAPP(exp(U_936),exp(U_936),hAPP(ty,fun(exp(U_936),exp(U_936)),hAPP(U_936,fun(ty,fun(exp(U_936),exp(U_936))),block(U_936),U_935),U_934),U_933) != hAPP(exp(U_936),exp(U_936),hAPP(U_936,fun(exp(U_936),exp(U_936)),lAss(U_936),U_932),U_931),
    inference(clausify,[status(thm)],[f_256_2]) ).

fof(f_257_1,plain,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_109_exp_Osimps_I196_J]) ).

fof(f_257_2,plain,
    ! [U_942,U_941,U_940,U_939,U_938,U_937] : hAPP(exp(U_942),exp(U_942),hAPP(ty,fun(exp(U_942),exp(U_942)),hAPP(U_942,fun(ty,fun(exp(U_942),exp(U_942))),block(U_942),U_941),U_940),U_939) != hAPP(exp(U_942),exp(U_942),hAPP(exp(U_942),fun(exp(U_942),exp(U_942)),seq(U_942),U_938),U_937),
    inference(variable_rename,[status(thm)],[f_257_1]) ).

cnf(f_257_3,plain,
    hAPP(exp(U_942),exp(U_942),hAPP(ty,fun(exp(U_942),exp(U_942)),hAPP(U_942,fun(ty,fun(exp(U_942),exp(U_942))),block(U_942),U_941),U_940),U_939) != hAPP(exp(U_942),exp(U_942),hAPP(exp(U_942),fun(exp(U_942),exp(U_942)),seq(U_942),U_938),U_937),
    inference(clausify,[status(thm)],[f_257_2]) ).

fof(f_258_1,plain,
    ! [X_a,A_5,Exp,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_110_exp_Osimps_I142_J]) ).

fof(f_258_2,plain,
    ! [U_948,U_947,U_946,U_945,U_944,U_943] : hAPP(exp(U_948),exp(U_948),hAPP(U_948,fun(exp(U_948),exp(U_948)),lAss(U_948),U_947),U_946) != hAPP(exp(U_948),exp(U_948),hAPP(ty,fun(exp(U_948),exp(U_948)),hAPP(U_948,fun(ty,fun(exp(U_948),exp(U_948))),block(U_948),U_945),U_944),U_943),
    inference(variable_rename,[status(thm)],[f_258_1]) ).

cnf(f_258_3,plain,
    hAPP(exp(U_948),exp(U_948),hAPP(U_948,fun(exp(U_948),exp(U_948)),lAss(U_948),U_947),U_946) != hAPP(exp(U_948),exp(U_948),hAPP(ty,fun(exp(U_948),exp(U_948)),hAPP(U_948,fun(ty,fun(exp(U_948),exp(U_948))),block(U_948),U_945),U_944),U_943),
    inference(clausify,[status(thm)],[f_258_2]) ).

fof(f_259_1,plain,
    ! [X_a,Val_3,Val_2] :
      ( ( hAPP(val,exp(X_a),val_1(X_a),Val_3) = hAPP(val,exp(X_a),val_1(X_a),Val_2)
        | Val_3 != Val_2 )
      & ( Val_3 = Val_2
        | hAPP(val,exp(X_a),val_1(X_a),Val_3) != hAPP(val,exp(X_a),val_1(X_a),Val_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_111_exp_Osimps_I3_J]) ).

fof(f_259_2,plain,
    ! [U_951,U_950,U_949] :
      ( ( hAPP(val,exp(U_951),val_1(U_951),U_950) = hAPP(val,exp(U_951),val_1(U_951),U_949)
        | U_950 != U_949 )
      & ( U_950 = U_949
        | hAPP(val,exp(U_951),val_1(U_951),U_950) != hAPP(val,exp(U_951),val_1(U_951),U_949) ) ),
    inference(variable_rename,[status(thm)],[f_259_1]) ).

fof(f_259_3,plain,
    ( ! [U_957,U_955,U_953] :
        ( hAPP(val,exp(U_957),val_1(U_957),U_955) = hAPP(val,exp(U_957),val_1(U_957),U_953)
        | U_955 != U_953 )
    & ! [U_956,U_954,U_952] :
        ( U_954 = U_952
        | hAPP(val,exp(U_956),val_1(U_956),U_954) != hAPP(val,exp(U_956),val_1(U_956),U_952) ) ),
    inference(miniscope,[status(thm)],[f_259_2]) ).

cnf(f_259_4,plain,
    ( U_954 = U_952
    | hAPP(val,exp(U_956),val_1(U_956),U_954) != hAPP(val,exp(U_956),val_1(U_956),U_952) ),
    inference(clausify,[status(thm)],[f_259_3]) ).

cnf(f_259_5,plain,
    ( hAPP(val,exp(U_957),val_1(U_957),U_955) = hAPP(val,exp(U_957),val_1(U_957),U_953)
    | U_955 != U_953 ),
    inference(clausify,[status(thm)],[f_259_3]) ).

fof(f_260_1,plain,
    ! [X_a,Exp1_3,Exp2_3,Exp1_2,Exp2_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_2),Exp2_2)
        | Exp2_3 != Exp2_2
        | Exp1_3 != Exp1_2 )
      & ( ( Exp2_3 = Exp2_2
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_3),Exp2_3) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_2),Exp2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_112_exp_Osimps_I11_J]) ).

fof(f_260_2,plain,
    ! [U_962,U_961,U_960,U_959,U_958] :
      ( ( hAPP(exp(U_962),exp(U_962),hAPP(exp(U_962),fun(exp(U_962),exp(U_962)),seq(U_962),U_961),U_960) = hAPP(exp(U_962),exp(U_962),hAPP(exp(U_962),fun(exp(U_962),exp(U_962)),seq(U_962),U_959),U_958)
        | U_960 != U_958
        | U_961 != U_959 )
      & ( ( U_960 = U_958
          & U_961 = U_959 )
        | hAPP(exp(U_962),exp(U_962),hAPP(exp(U_962),fun(exp(U_962),exp(U_962)),seq(U_962),U_961),U_960) != hAPP(exp(U_962),exp(U_962),hAPP(exp(U_962),fun(exp(U_962),exp(U_962)),seq(U_962),U_959),U_958) ) ),
    inference(variable_rename,[status(thm)],[f_260_1]) ).

fof(f_260_3,plain,
    ( ! [U_972,U_970,U_968,U_966,U_964] :
        ( hAPP(exp(U_972),exp(U_972),hAPP(exp(U_972),fun(exp(U_972),exp(U_972)),seq(U_972),U_970),U_968) = hAPP(exp(U_972),exp(U_972),hAPP(exp(U_972),fun(exp(U_972),exp(U_972)),seq(U_972),U_966),U_964)
        | U_968 != U_964
        | U_970 != U_966 )
    & ! [U_971,U_969,U_967,U_965,U_963] :
        ( ( U_967 = U_963
          & U_969 = U_965 )
        | hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_969),U_967) != hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_965),U_963) ) ),
    inference(miniscope,[status(thm)],[f_260_2]) ).

cnf(f_260_4,plain,
    ( U_969 = U_965
    | hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_969),U_967) != hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_965),U_963) ),
    inference(clausify,[status(thm)],[f_260_3]) ).

cnf(f_260_5,plain,
    ( U_967 = U_963
    | hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_969),U_967) != hAPP(exp(U_971),exp(U_971),hAPP(exp(U_971),fun(exp(U_971),exp(U_971)),seq(U_971),U_965),U_963) ),
    inference(clausify,[status(thm)],[f_260_3]) ).

cnf(f_260_6,plain,
    ( hAPP(exp(U_972),exp(U_972),hAPP(exp(U_972),fun(exp(U_972),exp(U_972)),seq(U_972),U_970),U_968) = hAPP(exp(U_972),exp(U_972),hAPP(exp(U_972),fun(exp(U_972),exp(U_972)),seq(U_972),U_966),U_964)
    | U_968 != U_964
    | U_970 != U_966 ),
    inference(clausify,[status(thm)],[f_260_3]) ).

fof(f_261_1,plain,
    ! [X_a,A_1,Exp_3,A_4,Exp_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_2)
        | Exp_3 != Exp_2
        | ti(X_a,A_1) != ti(X_a,A_4) )
      & ( ( Exp_3 = Exp_2
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_1),Exp_3) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_4),Exp_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_113_exp_Osimps_I6_J]) ).

fof(f_261_2,plain,
    ! [U_977,U_976,U_975,U_974,U_973] :
      ( ( hAPP(exp(U_977),exp(U_977),hAPP(U_977,fun(exp(U_977),exp(U_977)),lAss(U_977),U_976),U_975) = hAPP(exp(U_977),exp(U_977),hAPP(U_977,fun(exp(U_977),exp(U_977)),lAss(U_977),U_974),U_973)
        | U_975 != U_973
        | ti(U_977,U_976) != ti(U_977,U_974) )
      & ( ( U_975 = U_973
          & ti(U_977,U_976) = ti(U_977,U_974) )
        | hAPP(exp(U_977),exp(U_977),hAPP(U_977,fun(exp(U_977),exp(U_977)),lAss(U_977),U_976),U_975) != hAPP(exp(U_977),exp(U_977),hAPP(U_977,fun(exp(U_977),exp(U_977)),lAss(U_977),U_974),U_973) ) ),
    inference(variable_rename,[status(thm)],[f_261_1]) ).

fof(f_261_3,plain,
    ( ! [U_987,U_985,U_983,U_981,U_979] :
        ( hAPP(exp(U_987),exp(U_987),hAPP(U_987,fun(exp(U_987),exp(U_987)),lAss(U_987),U_985),U_983) = hAPP(exp(U_987),exp(U_987),hAPP(U_987,fun(exp(U_987),exp(U_987)),lAss(U_987),U_981),U_979)
        | U_983 != U_979
        | ti(U_987,U_985) != ti(U_987,U_981) )
    & ! [U_986,U_984,U_982,U_980,U_978] :
        ( ( U_982 = U_978
          & ti(U_986,U_984) = ti(U_986,U_980) )
        | hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_984),U_982) != hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_980),U_978) ) ),
    inference(miniscope,[status(thm)],[f_261_2]) ).

cnf(f_261_4,plain,
    ( ti(U_986,U_984) = ti(U_986,U_980)
    | hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_984),U_982) != hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_980),U_978) ),
    inference(clausify,[status(thm)],[f_261_3]) ).

cnf(f_261_5,plain,
    ( U_982 = U_978
    | hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_984),U_982) != hAPP(exp(U_986),exp(U_986),hAPP(U_986,fun(exp(U_986),exp(U_986)),lAss(U_986),U_980),U_978) ),
    inference(clausify,[status(thm)],[f_261_3]) ).

cnf(f_261_6,plain,
    ( hAPP(exp(U_987),exp(U_987),hAPP(U_987,fun(exp(U_987),exp(U_987)),lAss(U_987),U_985),U_983) = hAPP(exp(U_987),exp(U_987),hAPP(U_987,fun(exp(U_987),exp(U_987)),lAss(U_987),U_981),U_979)
    | U_983 != U_979
    | ti(U_987,U_985) != ti(U_987,U_981) ),
    inference(clausify,[status(thm)],[f_261_3]) ).

fof(f_262_1,plain,
    ! [X_a,A_1,Ty_3,Exp_3,A_4,Ty_2,Exp_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty_3),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_2),Exp_2)
        | Exp_3 != Exp_2
        | Ty_3 != Ty_2
        | ti(X_a,A_1) != ti(X_a,A_4) )
      & ( ( Exp_3 = Exp_2
          & Ty_3 = Ty_2
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_1),Ty_3),Exp_3) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_4),Ty_2),Exp_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_114_exp_Osimps_I10_J]) ).

fof(f_262_2,plain,
    ! [U_994,U_993,U_992,U_991,U_990,U_989,U_988] :
      ( ( hAPP(exp(U_994),exp(U_994),hAPP(ty,fun(exp(U_994),exp(U_994)),hAPP(U_994,fun(ty,fun(exp(U_994),exp(U_994))),block(U_994),U_993),U_992),U_991) = hAPP(exp(U_994),exp(U_994),hAPP(ty,fun(exp(U_994),exp(U_994)),hAPP(U_994,fun(ty,fun(exp(U_994),exp(U_994))),block(U_994),U_990),U_989),U_988)
        | U_991 != U_988
        | U_992 != U_989
        | ti(U_994,U_993) != ti(U_994,U_990) )
      & ( ( U_991 = U_988
          & U_992 = U_989
          & ti(U_994,U_993) = ti(U_994,U_990) )
        | hAPP(exp(U_994),exp(U_994),hAPP(ty,fun(exp(U_994),exp(U_994)),hAPP(U_994,fun(ty,fun(exp(U_994),exp(U_994))),block(U_994),U_993),U_992),U_991) != hAPP(exp(U_994),exp(U_994),hAPP(ty,fun(exp(U_994),exp(U_994)),hAPP(U_994,fun(ty,fun(exp(U_994),exp(U_994))),block(U_994),U_990),U_989),U_988) ) ),
    inference(variable_rename,[status(thm)],[f_262_1]) ).

fof(f_262_3,plain,
    ( ! [U_1008,U_1006,U_1004,U_1002,U_1000,U_998,U_996] :
        ( hAPP(exp(U_1008),exp(U_1008),hAPP(ty,fun(exp(U_1008),exp(U_1008)),hAPP(U_1008,fun(ty,fun(exp(U_1008),exp(U_1008))),block(U_1008),U_1006),U_1004),U_1002) = hAPP(exp(U_1008),exp(U_1008),hAPP(ty,fun(exp(U_1008),exp(U_1008)),hAPP(U_1008,fun(ty,fun(exp(U_1008),exp(U_1008))),block(U_1008),U_1000),U_998),U_996)
        | U_1002 != U_996
        | U_1004 != U_998
        | ti(U_1008,U_1006) != ti(U_1008,U_1000) )
    & ! [U_1007,U_1005,U_1003,U_1001,U_999,U_997,U_995] :
        ( ( U_1001 = U_995
          & U_1003 = U_997
          & ti(U_1007,U_1005) = ti(U_1007,U_999) )
        | hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_1005),U_1003),U_1001) != hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_999),U_997),U_995) ) ),
    inference(miniscope,[status(thm)],[f_262_2]) ).

cnf(f_262_4,plain,
    ( ti(U_1007,U_1005) = ti(U_1007,U_999)
    | hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_1005),U_1003),U_1001) != hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_999),U_997),U_995) ),
    inference(clausify,[status(thm)],[f_262_3]) ).

cnf(f_262_5,plain,
    ( U_1003 = U_997
    | hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_1005),U_1003),U_1001) != hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_999),U_997),U_995) ),
    inference(clausify,[status(thm)],[f_262_3]) ).

cnf(f_262_6,plain,
    ( U_1001 = U_995
    | hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_1005),U_1003),U_1001) != hAPP(exp(U_1007),exp(U_1007),hAPP(ty,fun(exp(U_1007),exp(U_1007)),hAPP(U_1007,fun(ty,fun(exp(U_1007),exp(U_1007))),block(U_1007),U_999),U_997),U_995) ),
    inference(clausify,[status(thm)],[f_262_3]) ).

cnf(f_262_7,plain,
    ( hAPP(exp(U_1008),exp(U_1008),hAPP(ty,fun(exp(U_1008),exp(U_1008)),hAPP(U_1008,fun(ty,fun(exp(U_1008),exp(U_1008))),block(U_1008),U_1006),U_1004),U_1002) = hAPP(exp(U_1008),exp(U_1008),hAPP(ty,fun(exp(U_1008),exp(U_1008)),hAPP(U_1008,fun(ty,fun(exp(U_1008),exp(U_1008))),block(U_1008),U_1000),U_998),U_996)
    | U_1002 != U_996
    | U_1004 != U_998
    | ti(U_1008,U_1006) != ti(U_1008,U_1000) ),
    inference(clausify,[status(thm)],[f_262_3]) ).

fof(f_263_1,plain,
    ! [X_a,Val,Exp1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_115_exp_Osimps_I84_J]) ).

fof(f_263_2,plain,
    ! [U_1012,U_1011,U_1010,U_1009] : hAPP(val,exp(U_1012),val_1(U_1012),U_1011) != hAPP(exp(U_1012),exp(U_1012),hAPP(exp(U_1012),fun(exp(U_1012),exp(U_1012)),seq(U_1012),U_1010),U_1009),
    inference(variable_rename,[status(thm)],[f_263_1]) ).

cnf(f_263_3,plain,
    hAPP(val,exp(U_1012),val_1(U_1012),U_1011) != hAPP(exp(U_1012),exp(U_1012),hAPP(exp(U_1012),fun(exp(U_1012),exp(U_1012)),seq(U_1012),U_1010),U_1009),
    inference(clausify,[status(thm)],[f_263_2]) ).

fof(f_264_1,plain,
    ! [X_a,Val,A_6,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_116_exp_Osimps_I74_J]) ).

fof(f_264_2,plain,
    ! [U_1016,U_1015,U_1014,U_1013] : hAPP(val,exp(U_1016),val_1(U_1016),U_1015) != hAPP(exp(U_1016),exp(U_1016),hAPP(U_1016,fun(exp(U_1016),exp(U_1016)),lAss(U_1016),U_1014),U_1013),
    inference(variable_rename,[status(thm)],[f_264_1]) ).

cnf(f_264_3,plain,
    hAPP(val,exp(U_1016),val_1(U_1016),U_1015) != hAPP(exp(U_1016),exp(U_1016),hAPP(U_1016,fun(exp(U_1016),exp(U_1016)),lAss(U_1016),U_1014),U_1013),
    inference(clausify,[status(thm)],[f_264_2]) ).

fof(f_265_1,plain,
    ! [X_a,Exp1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_117_exp_Osimps_I85_J]) ).

fof(f_265_2,plain,
    ! [U_1020,U_1019,U_1018,U_1017] : hAPP(exp(U_1020),exp(U_1020),hAPP(exp(U_1020),fun(exp(U_1020),exp(U_1020)),seq(U_1020),U_1019),U_1018) != hAPP(val,exp(U_1020),val_1(U_1020),U_1017),
    inference(variable_rename,[status(thm)],[f_265_1]) ).

cnf(f_265_3,plain,
    hAPP(exp(U_1020),exp(U_1020),hAPP(exp(U_1020),fun(exp(U_1020),exp(U_1020)),seq(U_1020),U_1019),U_1018) != hAPP(val,exp(U_1020),val_1(U_1020),U_1017),
    inference(clausify,[status(thm)],[f_265_2]) ).

fof(f_266_1,plain,
    ! [X_a,A_6,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_118_exp_Osimps_I75_J]) ).

fof(f_266_2,plain,
    ! [U_1024,U_1023,U_1022,U_1021] : hAPP(exp(U_1024),exp(U_1024),hAPP(U_1024,fun(exp(U_1024),exp(U_1024)),lAss(U_1024),U_1023),U_1022) != hAPP(val,exp(U_1024),val_1(U_1024),U_1021),
    inference(variable_rename,[status(thm)],[f_266_1]) ).

cnf(f_266_3,plain,
    hAPP(exp(U_1024),exp(U_1024),hAPP(U_1024,fun(exp(U_1024),exp(U_1024)),lAss(U_1024),U_1023),U_1022) != hAPP(val,exp(U_1024),val_1(U_1024),U_1021),
    inference(clausify,[status(thm)],[f_266_2]) ).

fof(f_267_1,plain,
    ! [X_a,Val,A_6,Ty,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_119_exp_Osimps_I82_J]) ).

fof(f_267_2,plain,
    ! [U_1029,U_1028,U_1027,U_1026,U_1025] : hAPP(val,exp(U_1029),val_1(U_1029),U_1028) != hAPP(exp(U_1029),exp(U_1029),hAPP(ty,fun(exp(U_1029),exp(U_1029)),hAPP(U_1029,fun(ty,fun(exp(U_1029),exp(U_1029))),block(U_1029),U_1027),U_1026),U_1025),
    inference(variable_rename,[status(thm)],[f_267_1]) ).

cnf(f_267_3,plain,
    hAPP(val,exp(U_1029),val_1(U_1029),U_1028) != hAPP(exp(U_1029),exp(U_1029),hAPP(ty,fun(exp(U_1029),exp(U_1029)),hAPP(U_1029,fun(ty,fun(exp(U_1029),exp(U_1029))),block(U_1029),U_1027),U_1026),U_1025),
    inference(clausify,[status(thm)],[f_267_2]) ).

fof(f_268_1,plain,
    ! [X_a,A_6,Ty,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_120_exp_Osimps_I83_J]) ).

fof(f_268_2,plain,
    ! [U_1034,U_1033,U_1032,U_1031,U_1030] : hAPP(exp(U_1034),exp(U_1034),hAPP(ty,fun(exp(U_1034),exp(U_1034)),hAPP(U_1034,fun(ty,fun(exp(U_1034),exp(U_1034))),block(U_1034),U_1033),U_1032),U_1031) != hAPP(val,exp(U_1034),val_1(U_1034),U_1030),
    inference(variable_rename,[status(thm)],[f_268_1]) ).

cnf(f_268_3,plain,
    hAPP(exp(U_1034),exp(U_1034),hAPP(ty,fun(exp(U_1034),exp(U_1034)),hAPP(U_1034,fun(ty,fun(exp(U_1034),exp(U_1034))),block(U_1034),U_1033),U_1032),U_1031) != hAPP(val,exp(U_1034),val_1(U_1034),U_1030),
    inference(clausify,[status(thm)],[f_268_2]) ).

fof(f_269_1,plain,
    ! [X_a,Va,A_2] : hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(val,exp(X_a),val_1(X_a),Va)),A_2)),
    inference(fof_nnf,[status(thm)],[fact_121__092_060D_062___092_060D_062s_Osimps_I3_J]) ).

fof(f_269_2,plain,
    ! [U_1037,U_1036,U_1035] : hBOOL(hAPP(option(fun(U_1037,bool)),bool,hAPP(exp(U_1037),fun(option(fun(U_1037,bool)),bool),d(U_1037),hAPP(val,exp(U_1037),val_1(U_1037),U_1036)),U_1035)),
    inference(variable_rename,[status(thm)],[f_269_1]) ).

cnf(f_269_3,plain,
    hBOOL(hAPP(option(fun(U_1037,bool)),bool,hAPP(exp(U_1037),fun(option(fun(U_1037,bool)),bool),d(U_1037),hAPP(val,exp(U_1037),val_1(U_1037),U_1036)),U_1035)),
    inference(clausify,[status(thm)],[f_269_2]) ).

fof(f_270_1,plain,
    ! [X_a,Exp1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_122_exp_Osimps_I145_J]) ).

fof(f_270_2,plain,
    ! [U_1042,U_1041,U_1040,U_1039,U_1038] : hAPP(exp(U_1042),exp(U_1042),hAPP(exp(U_1042),fun(exp(U_1042),exp(U_1042)),seq(U_1042),U_1041),U_1040) != hAPP(exp(U_1042),exp(U_1042),hAPP(U_1042,fun(exp(U_1042),exp(U_1042)),lAss(U_1042),U_1039),U_1038),
    inference(variable_rename,[status(thm)],[f_270_1]) ).

cnf(f_270_3,plain,
    hAPP(exp(U_1042),exp(U_1042),hAPP(exp(U_1042),fun(exp(U_1042),exp(U_1042)),seq(U_1042),U_1041),U_1040) != hAPP(exp(U_1042),exp(U_1042),hAPP(U_1042,fun(exp(U_1042),exp(U_1042)),lAss(U_1042),U_1039),U_1038),
    inference(clausify,[status(thm)],[f_270_2]) ).

fof(f_271_1,plain,
    ! [X_a,A_5,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_123_exp_Osimps_I144_J]) ).

fof(f_271_2,plain,
    ! [U_1047,U_1046,U_1045,U_1044,U_1043] : hAPP(exp(U_1047),exp(U_1047),hAPP(U_1047,fun(exp(U_1047),exp(U_1047)),lAss(U_1047),U_1046),U_1045) != hAPP(exp(U_1047),exp(U_1047),hAPP(exp(U_1047),fun(exp(U_1047),exp(U_1047)),seq(U_1047),U_1044),U_1043),
    inference(variable_rename,[status(thm)],[f_271_1]) ).

cnf(f_271_3,plain,
    hAPP(exp(U_1047),exp(U_1047),hAPP(U_1047,fun(exp(U_1047),exp(U_1047)),lAss(U_1047),U_1046),U_1045) != hAPP(exp(U_1047),exp(U_1047),hAPP(exp(U_1047),fun(exp(U_1047),exp(U_1047)),seq(U_1047),U_1044),U_1043),
    inference(clausify,[status(thm)],[f_271_2]) ).

fof(f_272_1,plain,
    ! [X_a,Exp1,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    inference(fof_nnf,[status(thm)],[fact_124_exp_Osimps_I197_J]) ).

fof(f_272_2,plain,
    ! [U_1053,U_1052,U_1051,U_1050,U_1049,U_1048] : hAPP(exp(U_1053),exp(U_1053),hAPP(exp(U_1053),fun(exp(U_1053),exp(U_1053)),seq(U_1053),U_1052),U_1051) != hAPP(exp(U_1053),exp(U_1053),hAPP(ty,fun(exp(U_1053),exp(U_1053)),hAPP(U_1053,fun(ty,fun(exp(U_1053),exp(U_1053))),block(U_1053),U_1050),U_1049),U_1048),
    inference(variable_rename,[status(thm)],[f_272_1]) ).

cnf(f_272_3,plain,
    hAPP(exp(U_1053),exp(U_1053),hAPP(exp(U_1053),fun(exp(U_1053),exp(U_1053)),seq(U_1053),U_1052),U_1051) != hAPP(exp(U_1053),exp(U_1053),hAPP(ty,fun(exp(U_1053),exp(U_1053)),hAPP(U_1053,fun(ty,fun(exp(U_1053),exp(U_1053))),block(U_1053),U_1050),U_1049),U_1048),
    inference(clausify,[status(thm)],[f_272_2]) ).

fof(f_273_1,plain,
    ! [X_a,Fs_2,A_1,C_1,Fs,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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_2)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
      | ~ 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_125_hconf__upd__obj]) ).

fof(f_273_2,plain,
    ! [U_1060,U_1059,U_1058,U_1057,U_1056,U_1055,U_1054] :
      ( 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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1060),U_1055),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1054),U_1058),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))),U_1057),U_1059)))))
      | ~ hBOOL(hAPP(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(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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1060),U_1055),U_1054),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))),U_1057),U_1059)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1054,U_1058) != 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))),U_1057),U_1056))
      | ~ 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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1060),U_1055),U_1054)) ),
    inference(variable_rename,[status(thm)],[f_273_1]) ).

cnf(f_273_3,plain,
    ( 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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1060),U_1055),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1054),U_1058),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))),U_1057),U_1059)))))
    | ~ hBOOL(hAPP(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(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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1060),U_1055),U_1054),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))),U_1057),U_1059)))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1054,U_1058) != 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))),U_1057),U_1056))
    | ~ 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,U_1060)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1060),U_1055),U_1054)) ),
    inference(clausify,[status(thm)],[f_273_2]) ).

fof(f_274_1,plain,
    ! [Ta,V_a,Pa,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V_a))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))
      | hAPP(list(char),option(val),L_b,Va_1) != hAPP(val,option(val),some(val),V_a)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va)))),E_b),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_126_redp__redsp_OInitBlockRed]) ).

fof(f_274_2,plain,
    ! [U_1071,U_1070,U_1069,U_1068,U_1067,U_1066,U_1065,U_1064,U_1063,U_1062,U_1061] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1069),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1065),U_1071),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1065),hAPP(val,exp(list(char)),val_1(list(char)),U_1064))),U_1068))),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))),U_1067),U_1066)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1065),U_1071),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1065),hAPP(val,exp(list(char)),val_1(list(char)),U_1070))),U_1063))),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))),U_1062),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1061),U_1065),hAPP(list(char),option(val),U_1066,U_1065)))))
      | hAPP(list(char),option(val),U_1061,U_1065) != hAPP(val,option(val),some(val),U_1070)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1069),U_1068),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))),U_1067),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1066),U_1065),hAPP(val,option(val),some(val),U_1064)))),U_1063),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))),U_1062),U_1061))) ),
    inference(variable_rename,[status(thm)],[f_274_1]) ).

cnf(f_274_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1069),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1065),U_1071),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1065),hAPP(val,exp(list(char)),val_1(list(char)),U_1064))),U_1068))),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))),U_1067),U_1066)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1065),U_1071),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1065),hAPP(val,exp(list(char)),val_1(list(char)),U_1070))),U_1063))),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))),U_1062),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1061),U_1065),hAPP(list(char),option(val),U_1066,U_1065)))))
    | hAPP(list(char),option(val),U_1061,U_1065) != hAPP(val,option(val),some(val),U_1070)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1069),U_1068),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))),U_1067),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1066),U_1065),hAPP(val,option(val),some(val),U_1064)))),U_1063),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))),U_1062),U_1061))) ),
    inference(clausify,[status(thm)],[f_274_2]) ).

fof(f_275_1,plain,
    ! [Ta,Va,Eb,Hb,Lb,Va_1,E_b,H_b,L_b,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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
      | hAPP(list(char),option(val),L_b,Va_1) != hAPP(val,option(val),some(val),Va)
      | ~ 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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_127_red__reds_OBlockRedSome]) ).

fof(f_275_2,plain,
    ! [U_1081,U_1080,U_1079,U_1078,U_1077,U_1076,U_1075,U_1074,U_1073,U_1072] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1076),U_1081),U_1079)),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))),U_1078),U_1077))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1076),U_1081),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1076),hAPP(val,exp(list(char)),val_1(list(char)),U_1080))),U_1075))),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))),U_1074),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1073),U_1076),hAPP(list(char),option(val),U_1077,U_1076)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1072)))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1076),U_1079))
      | hAPP(list(char),option(val),U_1073,U_1076) != hAPP(val,option(val),some(val),U_1080)
      | ~ 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)))),U_1079),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))),U_1078),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1077),U_1076),none(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)))),U_1075),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))),U_1074),U_1073)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1072))) ),
    inference(variable_rename,[status(thm)],[f_275_1]) ).

cnf(f_275_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1076),U_1081),U_1079)),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))),U_1078),U_1077))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1076),U_1081),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1076),hAPP(val,exp(list(char)),val_1(list(char)),U_1080))),U_1075))),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))),U_1074),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1073),U_1076),hAPP(list(char),option(val),U_1077,U_1076)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1072)))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1076),U_1079))
    | hAPP(list(char),option(val),U_1073,U_1076) != hAPP(val,option(val),some(val),U_1080)
    | ~ 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)))),U_1079),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))),U_1078),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1077),U_1076),none(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)))),U_1075),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))),U_1074),U_1073)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1072))) ),
    inference(clausify,[status(thm)],[f_275_2]) ).

fof(f_276_1,plain,
    ! [Pa,Hb,Eb,T_a,Ea,Va_1,Ta] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_a),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_1,Pa),Hb),Ea),Eb),T_a))
      | hAPP(list(char),option(ty),Ea,Va_1) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_128_WTrtLAss]) ).

fof(f_276_2,plain,
    ! [U_1088,U_1087,U_1086,U_1085,U_1084,U_1083,U_1082] :
      ( 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_1,U_1088),U_1087),U_1084),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1083),U_1086)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1088),U_1085),U_1082))
      | ~ 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_1,U_1088),U_1087),U_1084),U_1086),U_1085))
      | hAPP(list(char),option(ty),U_1084,U_1083) != hAPP(ty,option(ty),some(ty),U_1082) ),
    inference(variable_rename,[status(thm)],[f_276_1]) ).

cnf(f_276_3,plain,
    ( 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_1,U_1088),U_1087),U_1084),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1083),U_1086)),void))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1088),U_1085),U_1082))
    | ~ 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_1,U_1088),U_1087),U_1084),U_1086),U_1085))
    | hAPP(list(char),option(ty),U_1084,U_1083) != hAPP(ty,option(ty),some(ty),U_1082) ),
    inference(clausify,[status(thm)],[f_276_2]) ).

fof(f_277_1,plain,
    ! [Va_1,Eb,S,Va,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(val,option(val),some(val),Va)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_129_LAssRedsVal]) ).

fof(f_277_2,plain,
    ! [U_1095,U_1094,U_1093,U_1092,U_1091,U_1090,U_1089] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1095),U_1094)),U_1093)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1091),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1090),U_1095),hAPP(val,option(val),some(val),U_1092)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1089))))
      | ~ 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)))),U_1094),U_1093)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1092)),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))),U_1091),U_1090)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1089)))) ),
    inference(variable_rename,[status(thm)],[f_277_1]) ).

cnf(f_277_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1095),U_1094)),U_1093)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1091),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1090),U_1095),hAPP(val,option(val),some(val),U_1092)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1089))))
    | ~ 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)))),U_1094),U_1093)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1092)),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))),U_1091),U_1090)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1089)))) ),
    inference(clausify,[status(thm)],[f_277_2]) ).

fof(f_278_1,plain,
    ! [H_b,Hb] :
      ( 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,Hb),H_b))
      | ? [A_3,C_2,Fs_1] :
          ( ! [Fs_3] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_b,A_3) != hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_3))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_2),Fs_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_130_hextI]) ).

fof(f_278_2,plain,
    ! [U_1101,U_1100] :
      ( 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,U_1100),U_1101))
      | ? [U_1099,U_1098,U_1097] :
          ( ! [U_1096] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,U_1099) != 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))),U_1098),U_1096))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,U_1099) = 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))),U_1098),U_1097)) ) ),
    inference(variable_rename,[status(thm)],[f_278_1]) ).

fof(f_278_3,plain,
    ! [U_1101,U_1100] :
      ( 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,U_1100),U_1101))
      | ? [U_1099,U_1098] :
          ( ? [U_1097] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,U_1099) = 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))),U_1098),U_1097))
          & ! [U_1096] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,U_1099) != 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))),U_1098),U_1096)) ) ),
    inference(miniscope,[status(thm)],[f_278_2]) ).

fof(f_278_4,plain,
    ! [U_1101,U_1100] :
      ( 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,U_1100),U_1101))
      | ? [U_1098] :
          ( ? [U_1097] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,sK78(U_1101,U_1100)) = 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))),U_1098),U_1097))
          & ! [U_1096] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,sK78(U_1101,U_1100)) != 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))),U_1098),U_1096)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK78]),skolemize(U_1099,sK78(U_1101,U_1100))],[f_278_3]) ).

fof(f_278_5,plain,
    ! [U_1101,U_1100] :
      ( 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,U_1100),U_1101))
      | ( ? [U_1097] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,sK78(U_1101,U_1100)) = 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))),sK79(U_1101,U_1100)),U_1097))
        & ! [U_1096] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,sK78(U_1101,U_1100)) != 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))),sK79(U_1101,U_1100)),U_1096)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK79]),skolemize(U_1098,sK79(U_1101,U_1100))],[f_278_4]) ).

fof(f_278_6,plain,
    ! [U_1101,U_1100] :
      ( 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,U_1100),U_1101))
      | ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,sK78(U_1101,U_1100)) = 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))),sK79(U_1101,U_1100)),sK80(U_1101,U_1100)))
        & ! [U_1096] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,sK78(U_1101,U_1100)) != 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))),sK79(U_1101,U_1100)),U_1096)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK80]),skolemize(U_1097,sK80(U_1101,U_1100))],[f_278_5]) ).

cnf(f_278_7,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1101,sK78(U_1101,U_1100)) != 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))),sK79(U_1101,U_1100)),U_1096))
    | 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,U_1100),U_1101)) ),
    inference(clausify,[status(thm)],[f_278_6]) ).

cnf(f_278_8,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1100,sK78(U_1101,U_1100)) = 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))),sK79(U_1101,U_1100)),sK80(U_1101,U_1100)))
    | 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,U_1100),U_1101)) ),
    inference(clausify,[status(thm)],[f_278_6]) ).

fof(f_279_1,plain,
    ! [Pa,Va_1,Va,Hb,Lb] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),
    inference(fof_nnf,[status(thm)],[fact_131_redp__redsp_ORedLAss]) ).

fof(f_279_2,plain,
    ! [U_1106,U_1105,U_1104,U_1103,U_1102] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1106),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1105),hAPP(val,exp(list(char)),val_1(list(char)),U_1104))),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))),U_1103),U_1102)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1103),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1102),U_1105),hAPP(val,option(val),some(val),U_1104))))),
    inference(variable_rename,[status(thm)],[f_279_1]) ).

cnf(f_279_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1106),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1105),hAPP(val,exp(list(char)),val_1(list(char)),U_1104))),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))),U_1103),U_1102)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1103),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1102),U_1105),hAPP(val,option(val),some(val),U_1104))))),
    inference(clausify,[status(thm)],[f_279_2]) ).

fof(f_280_1,plain,
    ! [Eb,H_0,L_0,E_b,H_1,L_1_1,Pa] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),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_0),L_0))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_132_red__lcl__incr]) ).

fof(f_280_2,plain,
    ! [U_1113,U_1112,U_1111,U_1110,U_1109,U_1108,U_1107] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1111)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1108)))
      | ~ 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)))),U_1113),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))),U_1112),U_1111))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1110),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))),U_1109),U_1108)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1107))) ),
    inference(variable_rename,[status(thm)],[f_280_1]) ).

fof(f_280_3,plain,
    ! [U_1113,U_1112,U_1111,U_1110,U_1109,U_1108] :
      ( ! [U_1107] : ~ 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)))),U_1113),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))),U_1112),U_1111))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1110),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))),U_1109),U_1108)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1107)))
      | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1111)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1108))) ),
    inference(miniscope,[status(thm)],[f_280_2]) ).

cnf(f_280_4,plain,
    ( ~ 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)))),U_1113),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))),U_1112),U_1111))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1110),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))),U_1109),U_1108)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1107)))
    | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1111)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1108))) ),
    inference(clausify,[status(thm)],[f_280_3]) ).

fof(f_281_1,plain,
    ! [X_a,Fs_2,A_1,C_1,Fs,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))),Obj_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1)) ),
    inference(fof_nnf,[status(thm)],[fact_133_oconf__upd__obj]) ).

fof(f_281_2,plain,
    ! [U_1121,U_1120,U_1119,U_1118,U_1117,U_1116,U_1115,U_1114] :
      ( hBOOL(hAPP(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(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,U_1121)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1121),U_1116),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1115),U_1119),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))),U_1118),U_1120)))),U_1114))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1115,U_1119) != 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))),U_1118),U_1117))
      | ~ hBOOL(hAPP(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(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,U_1121)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1121),U_1116),U_1115),U_1114)) ),
    inference(variable_rename,[status(thm)],[f_281_1]) ).

cnf(f_281_3,plain,
    ( hBOOL(hAPP(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(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,U_1121)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1121),U_1116),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1115),U_1119),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))),U_1118),U_1120)))),U_1114))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1115,U_1119) != 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))),U_1118),U_1117))
    | ~ hBOOL(hAPP(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(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,U_1121)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1121),U_1116),U_1115),U_1114)) ),
    inference(clausify,[status(thm)],[f_281_2]) ).

fof(f_282_1,plain,
    ! [X_a,Pa,Hb,Ea] : 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),Hb),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),Ea)),
    inference(fof_nnf,[status(thm)],[fact_134_lconf__empty]) ).

fof(f_282_2,plain,
    ! [U_1125,U_1124,U_1123,U_1122] : 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,U_1125)))))))),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(U_1125),U_1124),U_1123),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),U_1122)),
    inference(variable_rename,[status(thm)],[f_282_1]) ).

cnf(f_282_3,plain,
    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,U_1125)))))))),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(U_1125),U_1124),U_1123),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),U_1122)),
    inference(clausify,[status(thm)],[f_282_2]) ).

fof(f_283_1,plain,
    ! [X_a,Q_1,Pa,X_1] :
      ( hBOOL(hAPP(X_a,bool,Q_1,X_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1))
      | ~ hBOOL(hAPP(X_a,bool,Pa,X_1)) ),
    inference(fof_nnf,[status(thm)],[fact_135_rev__predicate1D]) ).

fof(f_283_2,plain,
    ! [U_1129,U_1128,U_1127,U_1126] :
      ( hBOOL(hAPP(U_1129,bool,U_1128,U_1126))
      | ~ hBOOL(hAPP(fun(U_1129,bool),bool,hAPP(fun(U_1129,bool),fun(fun(U_1129,bool),bool),ord_less_eq(fun(U_1129,bool)),U_1127),U_1128))
      | ~ hBOOL(hAPP(U_1129,bool,U_1127,U_1126)) ),
    inference(variable_rename,[status(thm)],[f_283_1]) ).

cnf(f_283_3,plain,
    ( hBOOL(hAPP(U_1129,bool,U_1128,U_1126))
    | ~ hBOOL(hAPP(fun(U_1129,bool),bool,hAPP(fun(U_1129,bool),fun(fun(U_1129,bool),bool),ord_less_eq(fun(U_1129,bool)),U_1127),U_1128))
    | ~ hBOOL(hAPP(U_1129,bool,U_1127,U_1126)) ),
    inference(clausify,[status(thm)],[f_283_2]) ).

fof(f_284_1,plain,
    ! [X_a,X_1,Pa,Q_1] :
      ( hBOOL(hAPP(X_a,bool,Q_1,X_1))
      | ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1)) ),
    inference(fof_nnf,[status(thm)],[fact_136_predicate1D]) ).

fof(f_284_2,plain,
    ! [U_1133,U_1132,U_1131,U_1130] :
      ( hBOOL(hAPP(U_1133,bool,U_1130,U_1132))
      | ~ hBOOL(hAPP(U_1133,bool,U_1131,U_1132))
      | ~ hBOOL(hAPP(fun(U_1133,bool),bool,hAPP(fun(U_1133,bool),fun(fun(U_1133,bool),bool),ord_less_eq(fun(U_1133,bool)),U_1131),U_1130)) ),
    inference(variable_rename,[status(thm)],[f_284_1]) ).

cnf(f_284_3,plain,
    ( hBOOL(hAPP(U_1133,bool,U_1130,U_1132))
    | ~ hBOOL(hAPP(U_1133,bool,U_1131,U_1132))
    | ~ hBOOL(hAPP(fun(U_1133,bool),bool,hAPP(fun(U_1133,bool),fun(fun(U_1133,bool),bool),ord_less_eq(fun(U_1133,bool)),U_1131),U_1130)) ),
    inference(clausify,[status(thm)],[f_284_2]) ).

fof(f_285_1,plain,
    ! [X_a,R_1,S_2] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),R_1),S_2)) )
      & ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),R_1),S_2))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2))) ) ),
    inference(fof_nnf,[status(thm)],[fact_137_pred__subset__eq]) ).

fof(f_285_2,plain,
    ! [U_1136,U_1135,U_1134] :
      ( ( hBOOL(hAPP(fun(U_1136,bool),bool,hAPP(fun(U_1136,bool),fun(fun(U_1136,bool),bool),ord_less_eq(fun(U_1136,bool)),hAPP(fun(U_1136,bool),fun(U_1136,bool),hAPP(fun(U_1136,fun(fun(U_1136,bool),bool)),fun(fun(U_1136,bool),fun(U_1136,bool)),combc(U_1136,fun(U_1136,bool),bool),member(U_1136)),U_1135)),hAPP(fun(U_1136,bool),fun(U_1136,bool),hAPP(fun(U_1136,fun(fun(U_1136,bool),bool)),fun(fun(U_1136,bool),fun(U_1136,bool)),combc(U_1136,fun(U_1136,bool),bool),member(U_1136)),U_1134)))
        | ~ hBOOL(hAPP(fun(U_1136,bool),bool,hAPP(fun(U_1136,bool),fun(fun(U_1136,bool),bool),ord_less_eq(fun(U_1136,bool)),U_1135),U_1134)) )
      & ( hBOOL(hAPP(fun(U_1136,bool),bool,hAPP(fun(U_1136,bool),fun(fun(U_1136,bool),bool),ord_less_eq(fun(U_1136,bool)),U_1135),U_1134))
        | ~ hBOOL(hAPP(fun(U_1136,bool),bool,hAPP(fun(U_1136,bool),fun(fun(U_1136,bool),bool),ord_less_eq(fun(U_1136,bool)),hAPP(fun(U_1136,bool),fun(U_1136,bool),hAPP(fun(U_1136,fun(fun(U_1136,bool),bool)),fun(fun(U_1136,bool),fun(U_1136,bool)),combc(U_1136,fun(U_1136,bool),bool),member(U_1136)),U_1135)),hAPP(fun(U_1136,bool),fun(U_1136,bool),hAPP(fun(U_1136,fun(fun(U_1136,bool),bool)),fun(fun(U_1136,bool),fun(U_1136,bool)),combc(U_1136,fun(U_1136,bool),bool),member(U_1136)),U_1134))) ) ),
    inference(variable_rename,[status(thm)],[f_285_1]) ).

fof(f_285_3,plain,
    ( ! [U_1142,U_1140,U_1138] :
        ( hBOOL(hAPP(fun(U_1142,bool),bool,hAPP(fun(U_1142,bool),fun(fun(U_1142,bool),bool),ord_less_eq(fun(U_1142,bool)),hAPP(fun(U_1142,bool),fun(U_1142,bool),hAPP(fun(U_1142,fun(fun(U_1142,bool),bool)),fun(fun(U_1142,bool),fun(U_1142,bool)),combc(U_1142,fun(U_1142,bool),bool),member(U_1142)),U_1140)),hAPP(fun(U_1142,bool),fun(U_1142,bool),hAPP(fun(U_1142,fun(fun(U_1142,bool),bool)),fun(fun(U_1142,bool),fun(U_1142,bool)),combc(U_1142,fun(U_1142,bool),bool),member(U_1142)),U_1138)))
        | ~ hBOOL(hAPP(fun(U_1142,bool),bool,hAPP(fun(U_1142,bool),fun(fun(U_1142,bool),bool),ord_less_eq(fun(U_1142,bool)),U_1140),U_1138)) )
    & ! [U_1141,U_1139,U_1137] :
        ( hBOOL(hAPP(fun(U_1141,bool),bool,hAPP(fun(U_1141,bool),fun(fun(U_1141,bool),bool),ord_less_eq(fun(U_1141,bool)),U_1139),U_1137))
        | ~ hBOOL(hAPP(fun(U_1141,bool),bool,hAPP(fun(U_1141,bool),fun(fun(U_1141,bool),bool),ord_less_eq(fun(U_1141,bool)),hAPP(fun(U_1141,bool),fun(U_1141,bool),hAPP(fun(U_1141,fun(fun(U_1141,bool),bool)),fun(fun(U_1141,bool),fun(U_1141,bool)),combc(U_1141,fun(U_1141,bool),bool),member(U_1141)),U_1139)),hAPP(fun(U_1141,bool),fun(U_1141,bool),hAPP(fun(U_1141,fun(fun(U_1141,bool),bool)),fun(fun(U_1141,bool),fun(U_1141,bool)),combc(U_1141,fun(U_1141,bool),bool),member(U_1141)),U_1137))) ) ),
    inference(miniscope,[status(thm)],[f_285_2]) ).

cnf(f_285_4,plain,
    ( hBOOL(hAPP(fun(U_1141,bool),bool,hAPP(fun(U_1141,bool),fun(fun(U_1141,bool),bool),ord_less_eq(fun(U_1141,bool)),U_1139),U_1137))
    | ~ hBOOL(hAPP(fun(U_1141,bool),bool,hAPP(fun(U_1141,bool),fun(fun(U_1141,bool),bool),ord_less_eq(fun(U_1141,bool)),hAPP(fun(U_1141,bool),fun(U_1141,bool),hAPP(fun(U_1141,fun(fun(U_1141,bool),bool)),fun(fun(U_1141,bool),fun(U_1141,bool)),combc(U_1141,fun(U_1141,bool),bool),member(U_1141)),U_1139)),hAPP(fun(U_1141,bool),fun(U_1141,bool),hAPP(fun(U_1141,fun(fun(U_1141,bool),bool)),fun(fun(U_1141,bool),fun(U_1141,bool)),combc(U_1141,fun(U_1141,bool),bool),member(U_1141)),U_1137))) ),
    inference(clausify,[status(thm)],[f_285_3]) ).

cnf(f_285_5,plain,
    ( hBOOL(hAPP(fun(U_1142,bool),bool,hAPP(fun(U_1142,bool),fun(fun(U_1142,bool),bool),ord_less_eq(fun(U_1142,bool)),hAPP(fun(U_1142,bool),fun(U_1142,bool),hAPP(fun(U_1142,fun(fun(U_1142,bool),bool)),fun(fun(U_1142,bool),fun(U_1142,bool)),combc(U_1142,fun(U_1142,bool),bool),member(U_1142)),U_1140)),hAPP(fun(U_1142,bool),fun(U_1142,bool),hAPP(fun(U_1142,fun(fun(U_1142,bool),bool)),fun(fun(U_1142,bool),fun(U_1142,bool)),combc(U_1142,fun(U_1142,bool),bool),member(U_1142)),U_1138)))
    | ~ hBOOL(hAPP(fun(U_1142,bool),bool,hAPP(fun(U_1142,bool),fun(fun(U_1142,bool),bool),ord_less_eq(fun(U_1142,bool)),U_1140),U_1138)) ),
    inference(clausify,[status(thm)],[f_285_3]) ).

fof(f_286_1,plain,
    ! [X_a,A_6] : none(X_a) != hAPP(X_a,option(X_a),some(X_a),A_6),
    inference(fof_nnf,[status(thm)],[fact_138_option_Osimps_I2_J]) ).

fof(f_286_2,plain,
    ! [U_1144,U_1143] : none(U_1144) != hAPP(U_1144,option(U_1144),some(U_1144),U_1143),
    inference(variable_rename,[status(thm)],[f_286_1]) ).

cnf(f_286_3,plain,
    none(U_1144) != hAPP(U_1144,option(U_1144),some(U_1144),U_1143),
    inference(clausify,[status(thm)],[f_286_2]) ).

fof(f_287_1,plain,
    ! [X_a,A_6] : hAPP(X_a,option(X_a),some(X_a),A_6) != none(X_a),
    inference(fof_nnf,[status(thm)],[fact_139_option_Osimps_I3_J]) ).

fof(f_287_2,plain,
    ! [U_1146,U_1145] : hAPP(U_1146,option(U_1146),some(U_1146),U_1145) != none(U_1146),
    inference(variable_rename,[status(thm)],[f_287_1]) ).

cnf(f_287_3,plain,
    hAPP(U_1146,option(U_1146),some(U_1146),U_1145) != none(U_1146),
    inference(clausify,[status(thm)],[f_287_2]) ).

fof(f_288_1,plain,
    ! [X_a,X_1] :
      ( ( ! [Y_2] : ti(option(X_a),X_1) != hAPP(X_a,option(X_a),some(X_a),Y_2)
        | ti(option(X_a),X_1) != none(X_a) )
      & ( ti(option(X_a),X_1) = none(X_a)
        | ? [Y_2] : ti(option(X_a),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_140_not__Some__eq]) ).

fof(f_288_2,plain,
    ! [U_1150,U_1149] :
      ( ( ! [U_1148] : ti(option(U_1150),U_1149) != hAPP(U_1150,option(U_1150),some(U_1150),U_1148)
        | ti(option(U_1150),U_1149) != none(U_1150) )
      & ( ti(option(U_1150),U_1149) = none(U_1150)
        | ? [U_1147] : ti(option(U_1150),U_1149) = hAPP(U_1150,option(U_1150),some(U_1150),U_1147) ) ),
    inference(variable_rename,[status(thm)],[f_288_1]) ).

fof(f_288_3,plain,
    ( ! [U_1154,U_1152] :
        ( ! [U_1148] : ti(option(U_1154),U_1152) != hAPP(U_1154,option(U_1154),some(U_1154),U_1148)
        | ti(option(U_1154),U_1152) != none(U_1154) )
    & ! [U_1153,U_1151] :
        ( ti(option(U_1153),U_1151) = none(U_1153)
        | ? [U_1147] : ti(option(U_1153),U_1151) = hAPP(U_1153,option(U_1153),some(U_1153),U_1147) ) ),
    inference(miniscope,[status(thm)],[f_288_2]) ).

fof(f_288_4,plain,
    ( ! [U_1154,U_1152] :
        ( ! [U_1148] : ti(option(U_1154),U_1152) != hAPP(U_1154,option(U_1154),some(U_1154),U_1148)
        | ti(option(U_1154),U_1152) != none(U_1154) )
    & ! [U_1153,U_1151] :
        ( ti(option(U_1153),U_1151) = none(U_1153)
        | ti(option(U_1153),U_1151) = hAPP(U_1153,option(U_1153),some(U_1153),sK81(U_1153,U_1151)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK81]),skolemize(U_1147,sK81(U_1153,U_1151))],[f_288_3]) ).

cnf(f_288_5,plain,
    ( ti(option(U_1153),U_1151) = none(U_1153)
    | ti(option(U_1153),U_1151) = hAPP(U_1153,option(U_1153),some(U_1153),sK81(U_1153,U_1151)) ),
    inference(clausify,[status(thm)],[f_288_4]) ).

cnf(f_288_6,plain,
    ( ti(option(U_1154),U_1152) != hAPP(U_1154,option(U_1154),some(U_1154),U_1148)
    | ti(option(U_1154),U_1152) != none(U_1154) ),
    inference(clausify,[status(thm)],[f_288_4]) ).

fof(f_289_1,plain,
    ! [X_a,X_1] :
      ( ( ti(option(X_a),X_1) != none(X_a)
        | ! [Y_2] : ti(option(X_a),X_1) != hAPP(X_a,option(X_a),some(X_a),Y_2) )
      & ( ? [Y_2] : ti(option(X_a),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_2)
        | ti(option(X_a),X_1) = none(X_a) ) ),
    inference(fof_nnf,[status(thm)],[fact_141_not__None__eq]) ).

fof(f_289_2,plain,
    ! [U_1158,U_1157] :
      ( ( ti(option(U_1158),U_1157) != none(U_1158)
        | ! [U_1156] : ti(option(U_1158),U_1157) != hAPP(U_1158,option(U_1158),some(U_1158),U_1156) )
      & ( ? [U_1155] : ti(option(U_1158),U_1157) = hAPP(U_1158,option(U_1158),some(U_1158),U_1155)
        | ti(option(U_1158),U_1157) = none(U_1158) ) ),
    inference(variable_rename,[status(thm)],[f_289_1]) ).

fof(f_289_3,plain,
    ( ! [U_1162,U_1160] :
        ( ti(option(U_1162),U_1160) != none(U_1162)
        | ! [U_1156] : ti(option(U_1162),U_1160) != hAPP(U_1162,option(U_1162),some(U_1162),U_1156) )
    & ! [U_1161,U_1159] :
        ( ? [U_1155] : ti(option(U_1161),U_1159) = hAPP(U_1161,option(U_1161),some(U_1161),U_1155)
        | ti(option(U_1161),U_1159) = none(U_1161) ) ),
    inference(miniscope,[status(thm)],[f_289_2]) ).

fof(f_289_4,plain,
    ( ! [U_1162,U_1160] :
        ( ti(option(U_1162),U_1160) != none(U_1162)
        | ! [U_1156] : ti(option(U_1162),U_1160) != hAPP(U_1162,option(U_1162),some(U_1162),U_1156) )
    & ! [U_1161,U_1159] :
        ( ti(option(U_1161),U_1159) = hAPP(U_1161,option(U_1161),some(U_1161),sK82(U_1161,U_1159))
        | ti(option(U_1161),U_1159) = none(U_1161) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK82]),skolemize(U_1155,sK82(U_1161,U_1159))],[f_289_3]) ).

cnf(f_289_5,plain,
    ( ti(option(U_1161),U_1159) = hAPP(U_1161,option(U_1161),some(U_1161),sK82(U_1161,U_1159))
    | ti(option(U_1161),U_1159) = none(U_1161) ),
    inference(clausify,[status(thm)],[f_289_4]) ).

cnf(f_289_6,plain,
    ( ti(option(U_1162),U_1160) != none(U_1162)
    | ti(option(U_1162),U_1160) != hAPP(U_1162,option(U_1162),some(U_1162),U_1156) ),
    inference(clausify,[status(thm)],[f_289_4]) ).

fof(f_290_1,plain,
    ! [Va_1,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_142_redp__redsp_OLAssRed]) ).

fof(f_290_2,plain,
    ! [U_1168,U_1167,U_1166,U_1165,U_1164,U_1163] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1167),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1168),U_1166)),U_1165),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1168),U_1164)),U_1163))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1167),U_1166),U_1165),U_1164),U_1163)) ),
    inference(variable_rename,[status(thm)],[f_290_1]) ).

cnf(f_290_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1167),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1168),U_1166)),U_1165),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1168),U_1164)),U_1163))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1167),U_1166),U_1165),U_1164),U_1163)) ),
    inference(clausify,[status(thm)],[f_290_2]) ).

fof(f_291_1,plain,
    ! [E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_143_redp__redsp_OSeqRed]) ).

fof(f_291_2,plain,
    ! [U_1174,U_1173,U_1172,U_1171,U_1170,U_1169] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1173),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1172),U_1174)),U_1171),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1170),U_1174)),U_1169))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1173),U_1172),U_1171),U_1170),U_1169)) ),
    inference(variable_rename,[status(thm)],[f_291_1]) ).

cnf(f_291_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1173),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1172),U_1174)),U_1171),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1170),U_1174)),U_1169))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1173),U_1172),U_1171),U_1170),U_1169)) ),
    inference(clausify,[status(thm)],[f_291_2]) ).

fof(f_292_1,plain,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(option(X_b),fun(X_a,bool),hAPP(fun(X_a,fun(option(X_b),bool)),fun(option(X_b),fun(X_a,bool)),combc(X_a,option(X_b),bool),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),bool)),hAPP(fun(option(X_b),fun(option(X_b),bool)),fun(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),bool))),combb(option(X_b),fun(option(X_b),bool),X_a),fequal(option(X_b))),M_1)),none(X_b)))),
    inference(fof_nnf,[status(thm)],[fact_144_dom__def]) ).

fof(f_292_2,plain,
    ! [U_1177,U_1176,U_1175] : hAPP(fun(U_1177,option(U_1176)),fun(U_1177,bool),dom(U_1177,U_1176),U_1175) = hAPP(fun(U_1177,bool),fun(U_1177,bool),collect(U_1177),hAPP(fun(U_1177,bool),fun(U_1177,bool),hAPP(fun(bool,bool),fun(fun(U_1177,bool),fun(U_1177,bool)),combb(bool,bool,U_1177),fNot),hAPP(option(U_1176),fun(U_1177,bool),hAPP(fun(U_1177,fun(option(U_1176),bool)),fun(option(U_1176),fun(U_1177,bool)),combc(U_1177,option(U_1176),bool),hAPP(fun(U_1177,option(U_1176)),fun(U_1177,fun(option(U_1176),bool)),hAPP(fun(option(U_1176),fun(option(U_1176),bool)),fun(fun(U_1177,option(U_1176)),fun(U_1177,fun(option(U_1176),bool))),combb(option(U_1176),fun(option(U_1176),bool),U_1177),fequal(option(U_1176))),U_1175)),none(U_1176)))),
    inference(variable_rename,[status(thm)],[f_292_1]) ).

cnf(f_292_3,plain,
    hAPP(fun(U_1177,option(U_1176)),fun(U_1177,bool),dom(U_1177,U_1176),U_1175) = hAPP(fun(U_1177,bool),fun(U_1177,bool),collect(U_1177),hAPP(fun(U_1177,bool),fun(U_1177,bool),hAPP(fun(bool,bool),fun(fun(U_1177,bool),fun(U_1177,bool)),combb(bool,bool,U_1177),fNot),hAPP(option(U_1176),fun(U_1177,bool),hAPP(fun(U_1177,fun(option(U_1176),bool)),fun(option(U_1176),fun(U_1177,bool)),combc(U_1177,option(U_1176),bool),hAPP(fun(U_1177,option(U_1176)),fun(U_1177,fun(option(U_1176),bool)),hAPP(fun(option(U_1176),fun(option(U_1176),bool)),fun(fun(U_1177,option(U_1176)),fun(U_1177,fun(option(U_1176),bool))),combb(option(U_1176),fun(option(U_1176),bool),U_1177),fequal(option(U_1176))),U_1175)),none(U_1176)))),
    inference(clausify,[status(thm)],[f_292_2]) ).

fof(f_293_1,plain,
    ! [X_a,X_b,A_1,M_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1)))
        | hAPP(X_a,option(X_b),M_1,A_1) = none(X_b) )
      & ( hAPP(X_a,option(X_b),M_1,A_1) != none(X_b)
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1))) ) ),
    inference(fof_nnf,[status(thm)],[fact_145_domIff]) ).

fof(f_293_2,plain,
    ! [U_1181,U_1180,U_1179,U_1178] :
      ( ( hBOOL(hAPP(fun(U_1181,bool),bool,hAPP(U_1181,fun(fun(U_1181,bool),bool),member(U_1181),U_1179),hAPP(fun(U_1181,option(U_1180)),fun(U_1181,bool),dom(U_1181,U_1180),U_1178)))
        | hAPP(U_1181,option(U_1180),U_1178,U_1179) = none(U_1180) )
      & ( hAPP(U_1181,option(U_1180),U_1178,U_1179) != none(U_1180)
        | ~ hBOOL(hAPP(fun(U_1181,bool),bool,hAPP(U_1181,fun(fun(U_1181,bool),bool),member(U_1181),U_1179),hAPP(fun(U_1181,option(U_1180)),fun(U_1181,bool),dom(U_1181,U_1180),U_1178))) ) ),
    inference(variable_rename,[status(thm)],[f_293_1]) ).

fof(f_293_3,plain,
    ( ! [U_1189,U_1187,U_1185,U_1183] :
        ( hBOOL(hAPP(fun(U_1189,bool),bool,hAPP(U_1189,fun(fun(U_1189,bool),bool),member(U_1189),U_1185),hAPP(fun(U_1189,option(U_1187)),fun(U_1189,bool),dom(U_1189,U_1187),U_1183)))
        | hAPP(U_1189,option(U_1187),U_1183,U_1185) = none(U_1187) )
    & ! [U_1188,U_1186,U_1184,U_1182] :
        ( hAPP(U_1188,option(U_1186),U_1182,U_1184) != none(U_1186)
        | ~ hBOOL(hAPP(fun(U_1188,bool),bool,hAPP(U_1188,fun(fun(U_1188,bool),bool),member(U_1188),U_1184),hAPP(fun(U_1188,option(U_1186)),fun(U_1188,bool),dom(U_1188,U_1186),U_1182))) ) ),
    inference(miniscope,[status(thm)],[f_293_2]) ).

cnf(f_293_4,plain,
    ( hAPP(U_1188,option(U_1186),U_1182,U_1184) != none(U_1186)
    | ~ hBOOL(hAPP(fun(U_1188,bool),bool,hAPP(U_1188,fun(fun(U_1188,bool),bool),member(U_1188),U_1184),hAPP(fun(U_1188,option(U_1186)),fun(U_1188,bool),dom(U_1188,U_1186),U_1182))) ),
    inference(clausify,[status(thm)],[f_293_3]) ).

cnf(f_293_5,plain,
    ( hBOOL(hAPP(fun(U_1189,bool),bool,hAPP(U_1189,fun(fun(U_1189,bool),bool),member(U_1189),U_1185),hAPP(fun(U_1189,option(U_1187)),fun(U_1189,bool),dom(U_1189,U_1187),U_1183)))
    | hAPP(U_1189,option(U_1187),U_1183,U_1185) = none(U_1187) ),
    inference(clausify,[status(thm)],[f_293_3]) ).

fof(f_294_1,plain,
    ! [Ta,Pa,Eb,Hb,Lb,Va_1,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_b)),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
      | hAPP(list(char),option(val),L_b,Va_1) != none(val)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val)))),E_b),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_146_redp__redsp_OBlockRedNone]) ).

fof(f_294_2,plain,
    ! [U_1198,U_1197,U_1196,U_1195,U_1194,U_1193,U_1192,U_1191,U_1190] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1197),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1193),U_1198),U_1196)),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))),U_1195),U_1194)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1193),U_1198),U_1192)),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))),U_1191),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1190),U_1193),hAPP(list(char),option(val),U_1194,U_1193)))))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1193),U_1196))
      | hAPP(list(char),option(val),U_1190,U_1193) != none(val)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1197),U_1196),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))),U_1195),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1194),U_1193),none(val)))),U_1192),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))),U_1191),U_1190))) ),
    inference(variable_rename,[status(thm)],[f_294_1]) ).

cnf(f_294_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1197),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1193),U_1198),U_1196)),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))),U_1195),U_1194)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1193),U_1198),U_1192)),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))),U_1191),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1190),U_1193),hAPP(list(char),option(val),U_1194,U_1193)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1193),U_1196))
    | hAPP(list(char),option(val),U_1190,U_1193) != none(val)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1197),U_1196),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))),U_1195),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1194),U_1193),none(val)))),U_1192),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))),U_1191),U_1190))) ),
    inference(clausify,[status(thm)],[f_294_2]) ).

fof(f_295_1,plain,
    ! [X_b,X_a,M_1,N,K] :
      ( ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = none(X_a)
        | hAPP(X_b,option(X_a),M_1,K) != none(X_a)
        | hAPP(X_b,option(X_a),N,K) != none(X_a) )
      & ( ( hAPP(X_b,option(X_a),M_1,K) = none(X_a)
          & hAPP(X_b,option(X_a),N,K) = none(X_a) )
        | hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) != none(X_a) ) ),
    inference(fof_nnf,[status(thm)],[fact_147_map__add__None]) ).

fof(f_295_2,plain,
    ! [U_1203,U_1202,U_1201,U_1200,U_1199] :
      ( ( hAPP(U_1203,option(U_1202),hAPP(fun(U_1203,option(U_1202)),fun(U_1203,option(U_1202)),hAPP(fun(U_1203,option(U_1202)),fun(fun(U_1203,option(U_1202)),fun(U_1203,option(U_1202))),map_add(U_1203,U_1202),U_1201),U_1200),U_1199) = none(U_1202)
        | hAPP(U_1203,option(U_1202),U_1201,U_1199) != none(U_1202)
        | hAPP(U_1203,option(U_1202),U_1200,U_1199) != none(U_1202) )
      & ( ( hAPP(U_1203,option(U_1202),U_1201,U_1199) = none(U_1202)
          & hAPP(U_1203,option(U_1202),U_1200,U_1199) = none(U_1202) )
        | hAPP(U_1203,option(U_1202),hAPP(fun(U_1203,option(U_1202)),fun(U_1203,option(U_1202)),hAPP(fun(U_1203,option(U_1202)),fun(fun(U_1203,option(U_1202)),fun(U_1203,option(U_1202))),map_add(U_1203,U_1202),U_1201),U_1200),U_1199) != none(U_1202) ) ),
    inference(variable_rename,[status(thm)],[f_295_1]) ).

fof(f_295_3,plain,
    ( ! [U_1213,U_1211,U_1209,U_1207,U_1205] :
        ( hAPP(U_1213,option(U_1211),hAPP(fun(U_1213,option(U_1211)),fun(U_1213,option(U_1211)),hAPP(fun(U_1213,option(U_1211)),fun(fun(U_1213,option(U_1211)),fun(U_1213,option(U_1211))),map_add(U_1213,U_1211),U_1209),U_1207),U_1205) = none(U_1211)
        | hAPP(U_1213,option(U_1211),U_1209,U_1205) != none(U_1211)
        | hAPP(U_1213,option(U_1211),U_1207,U_1205) != none(U_1211) )
    & ! [U_1212,U_1210,U_1208,U_1206,U_1204] :
        ( ( hAPP(U_1212,option(U_1210),U_1208,U_1204) = none(U_1210)
          & hAPP(U_1212,option(U_1210),U_1206,U_1204) = none(U_1210) )
        | hAPP(U_1212,option(U_1210),hAPP(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210)),hAPP(fun(U_1212,option(U_1210)),fun(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210))),map_add(U_1212,U_1210),U_1208),U_1206),U_1204) != none(U_1210) ) ),
    inference(miniscope,[status(thm)],[f_295_2]) ).

cnf(f_295_4,plain,
    ( hAPP(U_1212,option(U_1210),U_1206,U_1204) = none(U_1210)
    | hAPP(U_1212,option(U_1210),hAPP(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210)),hAPP(fun(U_1212,option(U_1210)),fun(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210))),map_add(U_1212,U_1210),U_1208),U_1206),U_1204) != none(U_1210) ),
    inference(clausify,[status(thm)],[f_295_3]) ).

cnf(f_295_5,plain,
    ( hAPP(U_1212,option(U_1210),U_1208,U_1204) = none(U_1210)
    | hAPP(U_1212,option(U_1210),hAPP(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210)),hAPP(fun(U_1212,option(U_1210)),fun(fun(U_1212,option(U_1210)),fun(U_1212,option(U_1210))),map_add(U_1212,U_1210),U_1208),U_1206),U_1204) != none(U_1210) ),
    inference(clausify,[status(thm)],[f_295_3]) ).

cnf(f_295_6,plain,
    ( hAPP(U_1213,option(U_1211),hAPP(fun(U_1213,option(U_1211)),fun(U_1213,option(U_1211)),hAPP(fun(U_1213,option(U_1211)),fun(fun(U_1213,option(U_1211)),fun(U_1213,option(U_1211))),map_add(U_1213,U_1211),U_1209),U_1207),U_1205) = none(U_1211)
    | hAPP(U_1213,option(U_1211),U_1209,U_1205) != none(U_1211)
    | hAPP(U_1213,option(U_1211),U_1207,U_1205) != none(U_1211) ),
    inference(clausify,[status(thm)],[f_295_3]) ).

fof(f_296_1,plain,
    ! [X_a,X_b,X_1,X_2] : hAPP(X_a,option(X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),X_1),none(X_b)),X_2) = none(X_b),
    inference(fof_nnf,[status(thm)],[fact_148_empty__upd__none]) ).

fof(f_296_2,plain,
    ! [U_1217,U_1216,U_1215,U_1214] : hAPP(U_1217,option(U_1216),hAPP(option(U_1216),fun(U_1217,option(U_1216)),hAPP(U_1217,fun(option(U_1216),fun(U_1217,option(U_1216))),hAPP(fun(U_1217,option(U_1216)),fun(U_1217,fun(option(U_1216),fun(U_1217,option(U_1216)))),fun_upd(U_1217,option(U_1216)),hAPP(option(U_1216),fun(U_1217,option(U_1216)),combk(option(U_1216),U_1217),none(U_1216))),U_1215),none(U_1216)),U_1214) = none(U_1216),
    inference(variable_rename,[status(thm)],[f_296_1]) ).

cnf(f_296_3,plain,
    hAPP(U_1217,option(U_1216),hAPP(option(U_1216),fun(U_1217,option(U_1216)),hAPP(U_1217,fun(option(U_1216),fun(U_1217,option(U_1216))),hAPP(fun(U_1217,option(U_1216)),fun(U_1217,fun(option(U_1216),fun(U_1217,option(U_1216)))),fun_upd(U_1217,option(U_1216)),hAPP(option(U_1216),fun(U_1217,option(U_1216)),combk(option(U_1216),U_1217),none(U_1216))),U_1215),none(U_1216)),U_1214) = none(U_1216),
    inference(clausify,[status(thm)],[f_296_2]) ).

fof(f_297_1,plain,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M_1),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))) = ti(fun(X_a,option(X_b)),M_1),
    inference(fof_nnf,[status(thm)],[fact_149_map__add__empty]) ).

fof(f_297_2,plain,
    ! [U_1220,U_1219,U_1218] : hAPP(fun(U_1220,option(U_1219)),fun(U_1220,option(U_1219)),hAPP(fun(U_1220,option(U_1219)),fun(fun(U_1220,option(U_1219)),fun(U_1220,option(U_1219))),map_add(U_1220,U_1219),U_1218),hAPP(option(U_1219),fun(U_1220,option(U_1219)),combk(option(U_1219),U_1220),none(U_1219))) = ti(fun(U_1220,option(U_1219)),U_1218),
    inference(variable_rename,[status(thm)],[f_297_1]) ).

cnf(f_297_3,plain,
    hAPP(fun(U_1220,option(U_1219)),fun(U_1220,option(U_1219)),hAPP(fun(U_1220,option(U_1219)),fun(fun(U_1220,option(U_1219)),fun(U_1220,option(U_1219))),map_add(U_1220,U_1219),U_1218),hAPP(option(U_1219),fun(U_1220,option(U_1219)),combk(option(U_1219),U_1220),none(U_1219))) = ti(fun(U_1220,option(U_1219)),U_1218),
    inference(clausify,[status(thm)],[f_297_2]) ).

fof(f_298_1,plain,
    ! [X_a,X_b,M_1] : hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),M_1) = ti(fun(X_a,option(X_b)),M_1),
    inference(fof_nnf,[status(thm)],[fact_150_empty__map__add]) ).

fof(f_298_2,plain,
    ! [U_1223,U_1222,U_1221] : hAPP(fun(U_1223,option(U_1222)),fun(U_1223,option(U_1222)),hAPP(fun(U_1223,option(U_1222)),fun(fun(U_1223,option(U_1222)),fun(U_1223,option(U_1222))),map_add(U_1223,U_1222),hAPP(option(U_1222),fun(U_1223,option(U_1222)),combk(option(U_1222),U_1223),none(U_1222))),U_1221) = ti(fun(U_1223,option(U_1222)),U_1221),
    inference(variable_rename,[status(thm)],[f_298_1]) ).

cnf(f_298_3,plain,
    hAPP(fun(U_1223,option(U_1222)),fun(U_1223,option(U_1222)),hAPP(fun(U_1223,option(U_1222)),fun(fun(U_1223,option(U_1222)),fun(U_1223,option(U_1222))),map_add(U_1223,U_1222),hAPP(option(U_1222),fun(U_1223,option(U_1222)),combk(option(U_1222),U_1223),none(U_1222))),U_1221) = ti(fun(U_1223,option(U_1222)),U_1221),
    inference(clausify,[status(thm)],[f_298_2]) ).

fof(f_299_1,plain,
    ! [Pa,Va,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),E_2)),S),E_2),S)),
    inference(fof_nnf,[status(thm)],[fact_151_redp__redsp_ORedSeq]) ).

fof(f_299_2,plain,
    ! [U_1227,U_1226,U_1225,U_1224] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1227),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_1226)),U_1225)),U_1224),U_1225),U_1224)),
    inference(variable_rename,[status(thm)],[f_299_1]) ).

cnf(f_299_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1227),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_1226)),U_1225)),U_1224),U_1225),U_1224)),
    inference(clausify,[status(thm)],[f_299_2]) ).

fof(f_300_1,plain,
    ! [X_a,X_b,T_7,K,X_1] :
    ? [X_2] : hAPP(X_a,option(X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),T_7),K),hAPP(X_b,option(X_b),some(X_b),X_1)),X_2) != none(X_b),
    inference(fof_nnf,[status(thm)],[fact_152_map__upd__nonempty]) ).

fof(f_300_2,plain,
    ! [U_1233,U_1232,U_1231,U_1230,U_1229] :
    ? [U_1228] : hAPP(U_1233,option(U_1232),hAPP(option(U_1232),fun(U_1233,option(U_1232)),hAPP(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232))),hAPP(fun(U_1233,option(U_1232)),fun(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232)))),fun_upd(U_1233,option(U_1232)),U_1231),U_1230),hAPP(U_1232,option(U_1232),some(U_1232),U_1229)),U_1228) != none(U_1232),
    inference(variable_rename,[status(thm)],[f_300_1]) ).

fof(f_300_3,plain,
    ! [U_1233,U_1232,U_1231,U_1230,U_1229] : hAPP(U_1233,option(U_1232),hAPP(option(U_1232),fun(U_1233,option(U_1232)),hAPP(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232))),hAPP(fun(U_1233,option(U_1232)),fun(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232)))),fun_upd(U_1233,option(U_1232)),U_1231),U_1230),hAPP(U_1232,option(U_1232),some(U_1232),U_1229)),sK83(U_1233,U_1232,U_1231,U_1230,U_1229)) != none(U_1232),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK83]),skolemize(U_1228,sK83(U_1233,U_1232,U_1231,U_1230,U_1229))],[f_300_2]) ).

cnf(f_300_4,plain,
    hAPP(U_1233,option(U_1232),hAPP(option(U_1232),fun(U_1233,option(U_1232)),hAPP(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232))),hAPP(fun(U_1233,option(U_1232)),fun(U_1233,fun(option(U_1232),fun(U_1233,option(U_1232)))),fun_upd(U_1233,option(U_1232)),U_1231),U_1230),hAPP(U_1232,option(U_1232),some(U_1232),U_1229)),sK83(U_1233,U_1232,U_1231,U_1230,U_1229)) != none(U_1232),
    inference(clausify,[status(thm)],[f_300_3]) ).

fof(f_301_1,plain,
    ! [Pa,Va_1,Ta,U,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(val,exp(list(char)),val_1(list(char)),U))),S),hAPP(val,exp(list(char)),val_1(list(char)),U)),S)),
    inference(fof_nnf,[status(thm)],[fact_153_redp__redsp_ORedBlock]) ).

fof(f_301_2,plain,
    ! [U_1238,U_1237,U_1236,U_1235,U_1234] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1238),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1237),U_1236),hAPP(val,exp(list(char)),val_1(list(char)),U_1235))),U_1234),hAPP(val,exp(list(char)),val_1(list(char)),U_1235)),U_1234)),
    inference(variable_rename,[status(thm)],[f_301_1]) ).

cnf(f_301_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1238),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1237),U_1236),hAPP(val,exp(list(char)),val_1(list(char)),U_1235))),U_1234),hAPP(val,exp(list(char)),val_1(list(char)),U_1235)),U_1234)),
    inference(clausify,[status(thm)],[f_301_2]) ).

fof(f_302_1,plain,
    ! [X_a,H_b,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),H_b),Obj_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,Hb),H_b))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1)) ),
    inference(fof_nnf,[status(thm)],[fact_154_oconf__hext]) ).

fof(f_302_2,plain,
    ! [U_1243,U_1242,U_1241,U_1240,U_1239] :
      ( hBOOL(hAPP(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(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,U_1243)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1243),U_1241),U_1242),U_1239))
      | ~ 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,U_1240),U_1242))
      | ~ hBOOL(hAPP(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(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,U_1243)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1243),U_1241),U_1240),U_1239)) ),
    inference(variable_rename,[status(thm)],[f_302_1]) ).

cnf(f_302_3,plain,
    ( hBOOL(hAPP(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(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,U_1243)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1243),U_1241),U_1242),U_1239))
    | ~ 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,U_1240),U_1242))
    | ~ hBOOL(hAPP(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(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,U_1243)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1243),U_1241),U_1240),U_1239)) ),
    inference(clausify,[status(thm)],[f_302_2]) ).

fof(f_303_1,plain,
    ! [X_b,X_a,M_1,N,K,X_1] :
      ( ( hAPP(X_b,option(X_a),M_1,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
        & hAPP(X_b,option(X_a),N,K) = none(X_a) )
      | hAPP(X_b,option(X_a),N,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
      | hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) != hAPP(X_a,option(X_a),some(X_a),X_1) ),
    inference(fof_nnf,[status(thm)],[fact_155_map__add__SomeD]) ).

fof(f_303_2,plain,
    ! [U_1249,U_1248,U_1247,U_1246,U_1245,U_1244] :
      ( ( hAPP(U_1249,option(U_1248),U_1247,U_1245) = hAPP(U_1248,option(U_1248),some(U_1248),U_1244)
        & hAPP(U_1249,option(U_1248),U_1246,U_1245) = none(U_1248) )
      | hAPP(U_1249,option(U_1248),U_1246,U_1245) = hAPP(U_1248,option(U_1248),some(U_1248),U_1244)
      | hAPP(U_1249,option(U_1248),hAPP(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248)),hAPP(fun(U_1249,option(U_1248)),fun(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248))),map_add(U_1249,U_1248),U_1247),U_1246),U_1245) != hAPP(U_1248,option(U_1248),some(U_1248),U_1244) ),
    inference(variable_rename,[status(thm)],[f_303_1]) ).

cnf(f_303_3,plain,
    ( hAPP(U_1249,option(U_1248),U_1246,U_1245) = none(U_1248)
    | hAPP(U_1249,option(U_1248),U_1246,U_1245) = hAPP(U_1248,option(U_1248),some(U_1248),U_1244)
    | hAPP(U_1249,option(U_1248),hAPP(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248)),hAPP(fun(U_1249,option(U_1248)),fun(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248))),map_add(U_1249,U_1248),U_1247),U_1246),U_1245) != hAPP(U_1248,option(U_1248),some(U_1248),U_1244) ),
    inference(clausify,[status(thm)],[f_303_2]) ).

cnf(f_303_4,plain,
    ( hAPP(U_1249,option(U_1248),U_1247,U_1245) = hAPP(U_1248,option(U_1248),some(U_1248),U_1244)
    | hAPP(U_1249,option(U_1248),U_1246,U_1245) = hAPP(U_1248,option(U_1248),some(U_1248),U_1244)
    | hAPP(U_1249,option(U_1248),hAPP(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248)),hAPP(fun(U_1249,option(U_1248)),fun(fun(U_1249,option(U_1248)),fun(U_1249,option(U_1248))),map_add(U_1249,U_1248),U_1247),U_1246),U_1245) != hAPP(U_1248,option(U_1248),some(U_1248),U_1244) ),
    inference(clausify,[status(thm)],[f_303_2]) ).

fof(f_304_1,plain,
    ! [X_b,X_a,M_1,N,K,X_1] :
      ( ( hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) = hAPP(X_a,option(X_a),some(X_a),X_1)
        | ( ( hAPP(X_b,option(X_a),M_1,K) != hAPP(X_a,option(X_a),some(X_a),X_1)
            | hAPP(X_b,option(X_a),N,K) != none(X_a) )
          & hAPP(X_b,option(X_a),N,K) != hAPP(X_a,option(X_a),some(X_a),X_1) ) )
      & ( ( hAPP(X_b,option(X_a),M_1,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
          & hAPP(X_b,option(X_a),N,K) = none(X_a) )
        | hAPP(X_b,option(X_a),N,K) = hAPP(X_a,option(X_a),some(X_a),X_1)
        | hAPP(X_b,option(X_a),hAPP(fun(X_b,option(X_a)),fun(X_b,option(X_a)),hAPP(fun(X_b,option(X_a)),fun(fun(X_b,option(X_a)),fun(X_b,option(X_a))),map_add(X_b,X_a),M_1),N),K) != hAPP(X_a,option(X_a),some(X_a),X_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_156_map__add__Some__iff]) ).

fof(f_304_2,plain,
    ! [U_1255,U_1254,U_1253,U_1252,U_1251,U_1250] :
      ( ( hAPP(U_1255,option(U_1254),hAPP(fun(U_1255,option(U_1254)),fun(U_1255,option(U_1254)),hAPP(fun(U_1255,option(U_1254)),fun(fun(U_1255,option(U_1254)),fun(U_1255,option(U_1254))),map_add(U_1255,U_1254),U_1253),U_1252),U_1251) = hAPP(U_1254,option(U_1254),some(U_1254),U_1250)
        | ( ( hAPP(U_1255,option(U_1254),U_1253,U_1251) != hAPP(U_1254,option(U_1254),some(U_1254),U_1250)
            | hAPP(U_1255,option(U_1254),U_1252,U_1251) != none(U_1254) )
          & hAPP(U_1255,option(U_1254),U_1252,U_1251) != hAPP(U_1254,option(U_1254),some(U_1254),U_1250) ) )
      & ( ( hAPP(U_1255,option(U_1254),U_1253,U_1251) = hAPP(U_1254,option(U_1254),some(U_1254),U_1250)
          & hAPP(U_1255,option(U_1254),U_1252,U_1251) = none(U_1254) )
        | hAPP(U_1255,option(U_1254),U_1252,U_1251) = hAPP(U_1254,option(U_1254),some(U_1254),U_1250)
        | hAPP(U_1255,option(U_1254),hAPP(fun(U_1255,option(U_1254)),fun(U_1255,option(U_1254)),hAPP(fun(U_1255,option(U_1254)),fun(fun(U_1255,option(U_1254)),fun(U_1255,option(U_1254))),map_add(U_1255,U_1254),U_1253),U_1252),U_1251) != hAPP(U_1254,option(U_1254),some(U_1254),U_1250) ) ),
    inference(variable_rename,[status(thm)],[f_304_1]) ).

fof(f_304_3,plain,
    ( ! [U_1267,U_1265,U_1263,U_1261,U_1259,U_1257] :
        ( hAPP(U_1267,option(U_1265),hAPP(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265)),hAPP(fun(U_1267,option(U_1265)),fun(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265))),map_add(U_1267,U_1265),U_1263),U_1261),U_1259) = hAPP(U_1265,option(U_1265),some(U_1265),U_1257)
        | ( ( hAPP(U_1267,option(U_1265),U_1263,U_1259) != hAPP(U_1265,option(U_1265),some(U_1265),U_1257)
            | hAPP(U_1267,option(U_1265),U_1261,U_1259) != none(U_1265) )
          & hAPP(U_1267,option(U_1265),U_1261,U_1259) != hAPP(U_1265,option(U_1265),some(U_1265),U_1257) ) )
    & ! [U_1266,U_1264,U_1262,U_1260,U_1258,U_1256] :
        ( ( hAPP(U_1266,option(U_1264),U_1262,U_1258) = hAPP(U_1264,option(U_1264),some(U_1264),U_1256)
          & hAPP(U_1266,option(U_1264),U_1260,U_1258) = none(U_1264) )
        | hAPP(U_1266,option(U_1264),U_1260,U_1258) = hAPP(U_1264,option(U_1264),some(U_1264),U_1256)
        | hAPP(U_1266,option(U_1264),hAPP(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264)),hAPP(fun(U_1266,option(U_1264)),fun(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264))),map_add(U_1266,U_1264),U_1262),U_1260),U_1258) != hAPP(U_1264,option(U_1264),some(U_1264),U_1256) ) ),
    inference(miniscope,[status(thm)],[f_304_2]) ).

cnf(f_304_4,plain,
    ( hAPP(U_1266,option(U_1264),U_1260,U_1258) = none(U_1264)
    | hAPP(U_1266,option(U_1264),U_1260,U_1258) = hAPP(U_1264,option(U_1264),some(U_1264),U_1256)
    | hAPP(U_1266,option(U_1264),hAPP(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264)),hAPP(fun(U_1266,option(U_1264)),fun(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264))),map_add(U_1266,U_1264),U_1262),U_1260),U_1258) != hAPP(U_1264,option(U_1264),some(U_1264),U_1256) ),
    inference(clausify,[status(thm)],[f_304_3]) ).

cnf(f_304_5,plain,
    ( hAPP(U_1266,option(U_1264),U_1262,U_1258) = hAPP(U_1264,option(U_1264),some(U_1264),U_1256)
    | hAPP(U_1266,option(U_1264),U_1260,U_1258) = hAPP(U_1264,option(U_1264),some(U_1264),U_1256)
    | hAPP(U_1266,option(U_1264),hAPP(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264)),hAPP(fun(U_1266,option(U_1264)),fun(fun(U_1266,option(U_1264)),fun(U_1266,option(U_1264))),map_add(U_1266,U_1264),U_1262),U_1260),U_1258) != hAPP(U_1264,option(U_1264),some(U_1264),U_1256) ),
    inference(clausify,[status(thm)],[f_304_3]) ).

cnf(f_304_6,plain,
    ( hAPP(U_1267,option(U_1265),U_1261,U_1259) != hAPP(U_1265,option(U_1265),some(U_1265),U_1257)
    | hAPP(U_1267,option(U_1265),hAPP(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265)),hAPP(fun(U_1267,option(U_1265)),fun(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265))),map_add(U_1267,U_1265),U_1263),U_1261),U_1259) = hAPP(U_1265,option(U_1265),some(U_1265),U_1257) ),
    inference(clausify,[status(thm)],[f_304_3]) ).

cnf(f_304_7,plain,
    ( hAPP(U_1267,option(U_1265),U_1263,U_1259) != hAPP(U_1265,option(U_1265),some(U_1265),U_1257)
    | hAPP(U_1267,option(U_1265),U_1261,U_1259) != none(U_1265)
    | hAPP(U_1267,option(U_1265),hAPP(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265)),hAPP(fun(U_1267,option(U_1265)),fun(fun(U_1267,option(U_1265)),fun(U_1267,option(U_1265))),map_add(U_1267,U_1265),U_1263),U_1261),U_1259) = hAPP(U_1265,option(U_1265),some(U_1265),U_1257) ),
    inference(clausify,[status(thm)],[f_304_3]) ).

fof(f_305_1,plain,
    ! [E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_b),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_157_SeqReds]) ).

fof(f_305_2,plain,
    ! [U_1273,U_1272,U_1271,U_1270,U_1269,U_1268] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1272),U_1273)),U_1271)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1270),U_1273)),U_1269))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1268))))
      | ~ 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)))),U_1272),U_1271)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1270),U_1269))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1268)))) ),
    inference(variable_rename,[status(thm)],[f_305_1]) ).

cnf(f_305_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1272),U_1273)),U_1271)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1270),U_1273)),U_1269))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1268))))
    | ~ 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)))),U_1272),U_1271)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1270),U_1269))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1268)))) ),
    inference(clausify,[status(thm)],[f_305_2]) ).

fof(f_306_1,plain,
    ! [Va_1,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_158_LAssReds]) ).

fof(f_306_2,plain,
    ! [U_1279,U_1278,U_1277,U_1276,U_1275,U_1274] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1279),U_1278)),U_1277)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1279),U_1276)),U_1275))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1274))))
      | ~ 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)))),U_1278),U_1277)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1276),U_1275))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1274)))) ),
    inference(variable_rename,[status(thm)],[f_306_1]) ).

cnf(f_306_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1279),U_1278)),U_1277)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1279),U_1276)),U_1275))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1274))))
    | ~ 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)))),U_1278),U_1277)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1276),U_1275))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1274)))) ),
    inference(clausify,[status(thm)],[f_306_2]) ).

fof(f_307_1,plain,
    ! [Ta,Va,Pa,Eb,Hb,Lb,Va_1,E_b,H_b,L_b] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
      | hAPP(list(char),option(val),L_b,Va_1) != hAPP(val,option(val),some(val),Va)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val)))),E_b),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_159_redp__redsp_OBlockRedSome]) ).

fof(f_307_2,plain,
    ! [U_1289,U_1288,U_1287,U_1286,U_1285,U_1284,U_1283,U_1282,U_1281,U_1280] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1287),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1283),U_1289),U_1286)),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))),U_1285),U_1284)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1283),U_1289),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1283),hAPP(val,exp(list(char)),val_1(list(char)),U_1288))),U_1282))),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))),U_1281),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1280),U_1283),hAPP(list(char),option(val),U_1284,U_1283)))))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1283),U_1286))
      | hAPP(list(char),option(val),U_1280,U_1283) != hAPP(val,option(val),some(val),U_1288)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1287),U_1286),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))),U_1285),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1284),U_1283),none(val)))),U_1282),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))),U_1281),U_1280))) ),
    inference(variable_rename,[status(thm)],[f_307_1]) ).

cnf(f_307_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1287),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1283),U_1289),U_1286)),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))),U_1285),U_1284)),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1283),U_1289),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1283),hAPP(val,exp(list(char)),val_1(list(char)),U_1288))),U_1282))),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))),U_1281),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1280),U_1283),hAPP(list(char),option(val),U_1284,U_1283)))))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1283),U_1286))
    | hAPP(list(char),option(val),U_1280,U_1283) != hAPP(val,option(val),some(val),U_1288)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1287),U_1286),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))),U_1285),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1284),U_1283),none(val)))),U_1282),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))),U_1281),U_1280))) ),
    inference(clausify,[status(thm)],[f_307_2]) ).

fof(f_308_1,plain,
    ! [E_2,E_2_1,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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_2_1),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_160_SeqReds2]) ).

fof(f_308_2,plain,
    ! [U_1297,U_1296,U_1295,U_1294,U_1293,U_1292,U_1291,U_1290] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1294),U_1297)),U_1293)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1296),U_1295))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290))))
      | ~ 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)))),U_1297),U_1291)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1296),U_1295))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290))))
      | ~ 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)))),U_1294),U_1293)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1292)),U_1291))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290)))) ),
    inference(variable_rename,[status(thm)],[f_308_1]) ).

cnf(f_308_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1294),U_1297)),U_1293)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1296),U_1295))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290))))
    | ~ 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)))),U_1297),U_1291)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1296),U_1295))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290))))
    | ~ 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)))),U_1294),U_1293)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1292)),U_1291))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1290)))) ),
    inference(clausify,[status(thm)],[f_308_2]) ).

fof(f_309_1,plain,
    ! [Pa,X_2,Xa,Xb,Xc] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),X_2),Xa),Xb),Xc))
        | ~ 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)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),X_2),Xa),Xb),Xc)) ) ),
    inference(fof_nnf,[status(thm)],[fact_161_redp__red__eq]) ).

fof(f_309_2,plain,
    ! [U_1302,U_1301,U_1300,U_1299,U_1298] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1302),U_1301),U_1300),U_1299),U_1298))
        | ~ 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)))),U_1301),U_1300)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1299),U_1298))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1302))) )
      & ( 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)))),U_1301),U_1300)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1299),U_1298))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1302)))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1302),U_1301),U_1300),U_1299),U_1298)) ) ),
    inference(variable_rename,[status(thm)],[f_309_1]) ).

fof(f_309_3,plain,
    ( ! [U_1312,U_1310,U_1308,U_1306,U_1304] :
        ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1312),U_1310),U_1308),U_1306),U_1304))
        | ~ 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)))),U_1310),U_1308)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1306),U_1304))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1312))) )
    & ! [U_1311,U_1309,U_1307,U_1305,U_1303] :
        ( 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)))),U_1309),U_1307)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1305),U_1303))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1311)))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1311),U_1309),U_1307),U_1305),U_1303)) ) ),
    inference(miniscope,[status(thm)],[f_309_2]) ).

cnf(f_309_4,plain,
    ( 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)))),U_1309),U_1307)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1305),U_1303))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1311)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1311),U_1309),U_1307),U_1305),U_1303)) ),
    inference(clausify,[status(thm)],[f_309_3]) ).

cnf(f_309_5,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1312),U_1310),U_1308),U_1306),U_1304))
    | ~ 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)))),U_1310),U_1308)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1306),U_1304))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1312))) ),
    inference(clausify,[status(thm)],[f_309_3]) ).

fof(f_310_1,plain,
    ! [X_a,A_1,Obj_1,Pa,Hb] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)))),Obj_1)
      | ~ 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_162_hconfD]) ).

fof(f_310_2,plain,
    ! [U_1317,U_1316,U_1315,U_1314,U_1313] :
      ( hBOOL(hAPP(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(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,U_1317)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1317),U_1314),U_1313),U_1315))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1313,U_1316) != 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)))),U_1315)
      | ~ 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,U_1317)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1317),U_1314),U_1313)) ),
    inference(variable_rename,[status(thm)],[f_310_1]) ).

cnf(f_310_3,plain,
    ( hBOOL(hAPP(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(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,U_1317)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1317),U_1314),U_1313),U_1315))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1313,U_1316) != 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)))),U_1315)
    | ~ 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,U_1317)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1317),U_1314),U_1313)) ),
    inference(clausify,[status(thm)],[f_310_2]) ).

fof(f_311_1,plain,
    ! [Pa,Va_1,Ta,Va,U,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(val,exp(list(char)),val_1(list(char)),U)))),S),hAPP(val,exp(list(char)),val_1(list(char)),U)),S)),
    inference(fof_nnf,[status(thm)],[fact_163_redp__redsp_ORedInitBlock]) ).

fof(f_311_2,plain,
    ! [U_1323,U_1322,U_1321,U_1320,U_1319,U_1318] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1323),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1322),U_1321),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1322),hAPP(val,exp(list(char)),val_1(list(char)),U_1320))),hAPP(val,exp(list(char)),val_1(list(char)),U_1319)))),U_1318),hAPP(val,exp(list(char)),val_1(list(char)),U_1319)),U_1318)),
    inference(variable_rename,[status(thm)],[f_311_1]) ).

cnf(f_311_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_1323),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1322),U_1321),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1322),hAPP(val,exp(list(char)),val_1(list(char)),U_1320))),hAPP(val,exp(list(char)),val_1(list(char)),U_1319)))),U_1318),hAPP(val,exp(list(char)),val_1(list(char)),U_1319)),U_1318)),
    inference(clausify,[status(thm)],[f_311_2]) ).

fof(f_312_1,plain,
    ! [Ta,Eb,Hb,Lb,Va_1,E_b,H_b,L_b,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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_b)),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
      | hAPP(list(char),option(val),L_b,Va_1) != none(val)
      | ~ 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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),none(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_164_red__reds_OBlockRedNone]) ).

fof(f_312_2,plain,
    ! [U_1332,U_1331,U_1330,U_1329,U_1328,U_1327,U_1326,U_1325,U_1324] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1328),U_1332),U_1331)),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))),U_1330),U_1329))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1328),U_1332),U_1327)),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))),U_1326),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1325),U_1328),hAPP(list(char),option(val),U_1329,U_1328)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1324)))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1328),U_1331))
      | hAPP(list(char),option(val),U_1325,U_1328) != none(val)
      | ~ 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)))),U_1331),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))),U_1330),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1329),U_1328),none(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)))),U_1327),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))),U_1326),U_1325)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1324))) ),
    inference(variable_rename,[status(thm)],[f_312_1]) ).

cnf(f_312_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1328),U_1332),U_1331)),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))),U_1330),U_1329))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1328),U_1332),U_1327)),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))),U_1326),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1325),U_1328),hAPP(list(char),option(val),U_1329,U_1328)))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1324)))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1328),U_1331))
    | hAPP(list(char),option(val),U_1325,U_1328) != none(val)
    | ~ 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)))),U_1331),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))),U_1330),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1329),U_1328),none(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)))),U_1327),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))),U_1326),U_1325)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1324))) ),
    inference(clausify,[status(thm)],[f_312_2]) ).

fof(f_313_1,plain,
    ! [L_0,Eb,Hb,Lb,E_b,H_b,L_b,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)))),Eb),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))),Hb),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),Lb)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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_b))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_165_Red__lcl__add]) ).

fof(f_313_2,plain,
    ! [U_1340,U_1339,U_1338,U_1337,U_1336,U_1335,U_1334,U_1333] :
      ( 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)))),U_1339),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))),U_1338),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),U_1340),U_1337)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1336),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))),U_1335),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),U_1340),U_1334))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1333))))
      | ~ 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)))),U_1339),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))),U_1338),U_1337))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1336),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))),U_1335),U_1334)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1333)))) ),
    inference(variable_rename,[status(thm)],[f_313_1]) ).

cnf(f_313_3,plain,
    ( 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)))),U_1339),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))),U_1338),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),U_1340),U_1337)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1336),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))),U_1335),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),U_1340),U_1334))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1333))))
    | ~ 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)))),U_1339),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))),U_1338),U_1337))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1336),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))),U_1335),U_1334)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1333)))) ),
    inference(clausify,[status(thm)],[f_313_2]) ).

fof(f_314_1,plain,
    ! [Pa,Hb,Ea,Va,Eb,Ta] :
      ( ( ? [T_5] :
            ( ? [T_9] :
                ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_9),T_5))
                & 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_1,Pa),Hb),Ea),Eb),T_9)) )
            & hAPP(list(char),option(ty),Ea,Va) = hAPP(ty,option(ty),some(ty),T_5) )
        & Ta = void )
      | ~ 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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va),Eb)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_166_WTrt__elim__cases_I1_J]) ).

fof(f_314_2,plain,
    ! [U_1348,U_1347,U_1346,U_1345,U_1344,U_1343] :
      ( ( ? [U_1342] :
            ( ? [U_1341] :
                ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1348),U_1341),U_1342))
                & 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_1,U_1348),U_1347),U_1346),U_1344),U_1341)) )
            & hAPP(list(char),option(ty),U_1346,U_1345) = hAPP(ty,option(ty),some(ty),U_1342) )
        & U_1343 = void )
      | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(variable_rename,[status(thm)],[f_314_1]) ).

fof(f_314_3,plain,
    ! [U_1348,U_1347,U_1346,U_1345,U_1344,U_1343] :
      ( ( ? [U_1341] :
            ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1348),U_1341),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)))
            & 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_1,U_1348),U_1347),U_1346),U_1344),U_1341)) )
        & hAPP(list(char),option(ty),U_1346,U_1345) = hAPP(ty,option(ty),some(ty),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343))
        & U_1343 = void )
      | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK84]),skolemize(U_1342,sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343))],[f_314_2]) ).

fof(f_314_4,plain,
    ! [U_1348,U_1347,U_1346,U_1345,U_1344,U_1343] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1348),sK85(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)))
        & 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_1,U_1348),U_1347),U_1346),U_1344),sK85(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)))
        & hAPP(list(char),option(ty),U_1346,U_1345) = hAPP(ty,option(ty),some(ty),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343))
        & U_1343 = void )
      | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK85]),skolemize(U_1341,sK85(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343))],[f_314_3]) ).

cnf(f_314_5,plain,
    ( U_1343 = void
    | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(clausify,[status(thm)],[f_314_4]) ).

cnf(f_314_6,plain,
    ( hAPP(list(char),option(ty),U_1346,U_1345) = hAPP(ty,option(ty),some(ty),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343))
    | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(clausify,[status(thm)],[f_314_4]) ).

cnf(f_314_7,plain,
    ( 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_1,U_1348),U_1347),U_1346),U_1344),sK85(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)))
    | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(clausify,[status(thm)],[f_314_4]) ).

cnf(f_314_8,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_1348),sK85(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)),sK84(U_1348,U_1347,U_1346,U_1345,U_1344,U_1343)))
    | ~ 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_1,U_1348),U_1347),U_1346),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1345),U_1344)),U_1343)) ),
    inference(clausify,[status(thm)],[f_314_4]) ).

fof(f_315_1,plain,
    ! [Ta,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(option(val),val,the(val),hAPP(list(char),option(val),L_b,Va_1))))),E_b))),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_167_InitBlockReds]) ).

fof(f_315_2,plain,
    ! [U_1358,U_1357,U_1356,U_1355,U_1354,U_1353,U_1352,U_1351,U_1350,U_1349] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1354),U_1358),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1354),hAPP(val,exp(list(char)),val_1(list(char)),U_1353))),U_1357))),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))),U_1356),U_1355))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1354),U_1358),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1354),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(option(val),val,the(val),hAPP(list(char),option(val),U_1350,U_1354))))),U_1352))),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))),U_1351),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1350),U_1354),hAPP(list(char),option(val),U_1355,U_1354)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1349))))
      | ~ 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)))),U_1357),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))),U_1356),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1355),U_1354),hAPP(val,option(val),some(val),U_1353))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1352),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))),U_1351),U_1350)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1349)))) ),
    inference(variable_rename,[status(thm)],[f_315_1]) ).

cnf(f_315_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1354),U_1358),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1354),hAPP(val,exp(list(char)),val_1(list(char)),U_1353))),U_1357))),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))),U_1356),U_1355))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1354),U_1358),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1354),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(option(val),val,the(val),hAPP(list(char),option(val),U_1350,U_1354))))),U_1352))),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))),U_1351),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1350),U_1354),hAPP(list(char),option(val),U_1355,U_1354)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1349))))
    | ~ 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)))),U_1357),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))),U_1356),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1355),U_1354),hAPP(val,option(val),some(val),U_1353))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1352),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))),U_1351),U_1350)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1349)))) ),
    inference(clausify,[status(thm)],[f_315_2]) ).

fof(f_316_1,plain,
    ! [Ta,Eb,Hb,Lb,Va_1,Va,E_b,H_b,L_b,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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),Eb))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_b),Va_1),hAPP(list(char),option(val),Lb,Va_1)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
      | ~ 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)))),Eb),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))),Hb),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_168_InitBlockRedsFinal]) ).

fof(f_316_2,plain,
    ! [U_1368,U_1367,U_1366,U_1365,U_1364,U_1363,U_1362,U_1361,U_1360,U_1359] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1364),U_1368),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1364),hAPP(val,exp(list(char)),val_1(list(char)),U_1363))),U_1367))),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))),U_1366),U_1365))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1362),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))),U_1361),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1360),U_1364),hAPP(list(char),option(val),U_1365,U_1364)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1359))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1362))
      | ~ 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)))),U_1367),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))),U_1366),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1365),U_1364),hAPP(val,option(val),some(val),U_1363))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1362),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))),U_1361),U_1360)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1359)))) ),
    inference(variable_rename,[status(thm)],[f_316_1]) ).

cnf(f_316_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1364),U_1368),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1364),hAPP(val,exp(list(char)),val_1(list(char)),U_1363))),U_1367))),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))),U_1366),U_1365))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1362),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))),U_1361),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1360),U_1364),hAPP(list(char),option(val),U_1365,U_1364)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1359))))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1362))
    | ~ 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)))),U_1367),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))),U_1366),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1365),U_1364),hAPP(val,option(val),some(val),U_1363))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1362),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))),U_1361),U_1360)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1359)))) ),
    inference(clausify,[status(thm)],[f_316_2]) ).

fof(f_317_1,plain,
    ! [Va_1,Eb] :
      ( ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
        | ! [V,E_1] : Eb != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V))),E_1) )
      & ( ? [V,E_1] : Eb = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),V))),E_1)
        | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb)) ) ),
    inference(fof_nnf,[status(thm)],[fact_169_assigned__def]) ).

fof(f_317_2,plain,
    ! [U_1374,U_1373] :
      ( ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1374),U_1373))
        | ! [U_1372,U_1371] : U_1373 != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1374),hAPP(val,exp(list(char)),val_1(list(char)),U_1372))),U_1371) )
      & ( ? [U_1370,U_1369] : U_1373 = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1374),hAPP(val,exp(list(char)),val_1(list(char)),U_1370))),U_1369)
        | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1374),U_1373)) ) ),
    inference(variable_rename,[status(thm)],[f_317_1]) ).

fof(f_317_3,plain,
    ( ! [U_1378,U_1376] :
        ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1378),U_1376))
        | ! [U_1372,U_1371] : U_1376 != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1378),hAPP(val,exp(list(char)),val_1(list(char)),U_1372))),U_1371) )
    & ! [U_1377,U_1375] :
        ( ? [U_1370,U_1369] : U_1375 = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1377),hAPP(val,exp(list(char)),val_1(list(char)),U_1370))),U_1369)
        | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1377),U_1375)) ) ),
    inference(miniscope,[status(thm)],[f_317_2]) ).

fof(f_317_4,plain,
    ( ! [U_1378,U_1376] :
        ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1378),U_1376))
        | ! [U_1372,U_1371] : U_1376 != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1378),hAPP(val,exp(list(char)),val_1(list(char)),U_1372))),U_1371) )
    & ! [U_1377,U_1375] :
        ( ? [U_1369] : U_1375 = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1377),hAPP(val,exp(list(char)),val_1(list(char)),sK86(U_1377,U_1375)))),U_1369)
        | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1377),U_1375)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK86]),skolemize(U_1370,sK86(U_1377,U_1375))],[f_317_3]) ).

fof(f_317_5,plain,
    ( ! [U_1378,U_1376] :
        ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1378),U_1376))
        | ! [U_1372,U_1371] : U_1376 != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1378),hAPP(val,exp(list(char)),val_1(list(char)),U_1372))),U_1371) )
    & ! [U_1377,U_1375] :
        ( U_1375 = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1377),hAPP(val,exp(list(char)),val_1(list(char)),sK86(U_1377,U_1375)))),sK87(U_1377,U_1375))
        | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1377),U_1375)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK87]),skolemize(U_1369,sK87(U_1377,U_1375))],[f_317_4]) ).

cnf(f_317_6,plain,
    ( U_1375 = hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1377),hAPP(val,exp(list(char)),val_1(list(char)),sK86(U_1377,U_1375)))),sK87(U_1377,U_1375))
    | ~ hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1377),U_1375)) ),
    inference(clausify,[status(thm)],[f_317_5]) ).

cnf(f_317_7,plain,
    ( hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_1378),U_1376))
    | U_1376 != hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1378),hAPP(val,exp(list(char)),val_1(list(char)),U_1372))),U_1371) ),
    inference(clausify,[status(thm)],[f_317_5]) ).

fof(f_318_1,plain,
    ! [X_a,A_1,R_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_1),A_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))),
    inference(fof_nnf,[status(thm)],[fact_170_rtrancl_Ortrancl__refl]) ).

fof(f_318_2,plain,
    ! [U_1381,U_1380,U_1379] : hBOOL(hAPP(fun(product_prod(U_1381,U_1381),bool),bool,hAPP(product_prod(U_1381,U_1381),fun(fun(product_prod(U_1381,U_1381),bool),bool),member(product_prod(U_1381,U_1381)),hAPP(U_1381,product_prod(U_1381,U_1381),hAPP(U_1381,fun(U_1381,product_prod(U_1381,U_1381)),product_Pair(U_1381,U_1381),U_1380),U_1380)),hAPP(fun(product_prod(U_1381,U_1381),bool),fun(product_prod(U_1381,U_1381),bool),transitive_rtrancl(U_1381),U_1379))),
    inference(variable_rename,[status(thm)],[f_318_1]) ).

cnf(f_318_3,plain,
    hBOOL(hAPP(fun(product_prod(U_1381,U_1381),bool),bool,hAPP(product_prod(U_1381,U_1381),fun(fun(product_prod(U_1381,U_1381),bool),bool),member(product_prod(U_1381,U_1381)),hAPP(U_1381,product_prod(U_1381,U_1381),hAPP(U_1381,fun(U_1381,product_prod(U_1381,U_1381)),product_Pair(U_1381,U_1381),U_1380),U_1380)),hAPP(fun(product_prod(U_1381,U_1381),bool),fun(product_prod(U_1381,U_1381),bool),transitive_rtrancl(U_1381),U_1379))),
    inference(clausify,[status(thm)],[f_318_2]) ).

fof(f_319_1,plain,
    ! [Ta,H_0,L_0,Va_1,E_0,S_0,E_2,H_2,L_2,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_0)),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_0),L_0))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_0,Va_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))))
      | S_0 != 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_0),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0),Va_1),none(val)))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_2))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_0),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_171_BlockRedsFinal]) ).

fof(f_319_2,plain,
    ! [U_1391,U_1390,U_1389,U_1388,U_1387,U_1386,U_1385,U_1384,U_1383,U_1382] :
      ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1388),U_1391),U_1387)),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))),U_1390),U_1389))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1385),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))),U_1384),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1383),U_1388),hAPP(list(char),option(val),U_1389,U_1388)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1382))))
      | U_1386 != 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))),U_1390),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1389),U_1388),none(val)))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1385))
      | ~ 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)))),U_1387),U_1386)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1385),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))),U_1384),U_1383)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1382)))) ),
    inference(variable_rename,[status(thm)],[f_319_1]) ).

cnf(f_319_3,plain,
    ( 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1388),U_1391),U_1387)),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))),U_1390),U_1389))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1385),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))),U_1384),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1383),U_1388),hAPP(list(char),option(val),U_1389,U_1388)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1382))))
    | U_1386 != 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))),U_1390),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1389),U_1388),none(val)))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1385))
    | ~ 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)))),U_1387),U_1386)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1385),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))),U_1384),U_1383)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1382)))) ),
    inference(clausify,[status(thm)],[f_319_2]) ).

fof(f_320_1,plain,
    ! [X_a,Fs,Hb,Va,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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)))
      | ~ 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),Hb),Va),Ta))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_1),F_1),Ta),D_2)) ),
    inference(fof_nnf,[status(thm)],[fact_172_oconf__fupd]) ).

fof(f_320_2,plain,
    ! [U_1400,U_1399,U_1398,U_1397,U_1396,U_1395,U_1394,U_1393,U_1392] :
      ( hBOOL(hAPP(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(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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1400),U_1396),U_1398),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))),U_1395),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_1399),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_1394),U_1392)),hAPP(val,option(val),some(val),U_1397)))))
      | ~ hBOOL(hAPP(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(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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1400),U_1396),U_1398),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))),U_1395),U_1399)))
      | ~ 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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_1400),U_1396),U_1398),U_1397),U_1393))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_1400)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_1400),U_1396),U_1395),U_1394),U_1393),U_1392)) ),
    inference(variable_rename,[status(thm)],[f_320_1]) ).

cnf(f_320_3,plain,
    ( hBOOL(hAPP(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(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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1400),U_1396),U_1398),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))),U_1395),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_1399),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_1394),U_1392)),hAPP(val,option(val),some(val),U_1397)))))
    | ~ hBOOL(hAPP(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(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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1400),U_1396),U_1398),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))),U_1395),U_1399)))
    | ~ 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,U_1400)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_1400),U_1396),U_1398),U_1397),U_1393))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_1400)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_1400),U_1396),U_1395),U_1394),U_1393),U_1392)) ),
    inference(clausify,[status(thm)],[f_320_2]) ).

fof(f_321_1,plain,
    ! [X_a,P_1,R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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)),P_1),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_173_r__into__rtrancl]) ).

fof(f_321_2,plain,
    ! [U_1403,U_1402,U_1401] :
      ( hBOOL(hAPP(fun(product_prod(U_1403,U_1403),bool),bool,hAPP(product_prod(U_1403,U_1403),fun(fun(product_prod(U_1403,U_1403),bool),bool),member(product_prod(U_1403,U_1403)),U_1402),hAPP(fun(product_prod(U_1403,U_1403),bool),fun(product_prod(U_1403,U_1403),bool),transitive_rtrancl(U_1403),U_1401)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1403,U_1403),bool),bool,hAPP(product_prod(U_1403,U_1403),fun(fun(product_prod(U_1403,U_1403),bool),bool),member(product_prod(U_1403,U_1403)),U_1402),U_1401)) ),
    inference(variable_rename,[status(thm)],[f_321_1]) ).

cnf(f_321_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1403,U_1403),bool),bool,hAPP(product_prod(U_1403,U_1403),fun(fun(product_prod(U_1403,U_1403),bool),bool),member(product_prod(U_1403,U_1403)),U_1402),hAPP(fun(product_prod(U_1403,U_1403),bool),fun(product_prod(U_1403,U_1403),bool),transitive_rtrancl(U_1403),U_1401)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1403,U_1403),bool),bool,hAPP(product_prod(U_1403,U_1403),fun(fun(product_prod(U_1403,U_1403),bool),bool),member(product_prod(U_1403,U_1403)),U_1402),U_1401)) ),
    inference(clausify,[status(thm)],[f_321_2]) ).

fof(f_322_1,plain,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_174_equalityI]) ).

fof(f_322_2,plain,
    ! [U_1406,U_1405,U_1404] :
      ( ti(fun(U_1406,bool),U_1405) = ti(fun(U_1406,bool),U_1404)
      | ~ hBOOL(hAPP(fun(U_1406,bool),bool,hAPP(fun(U_1406,bool),fun(fun(U_1406,bool),bool),ord_less_eq(fun(U_1406,bool)),U_1404),U_1405))
      | ~ hBOOL(hAPP(fun(U_1406,bool),bool,hAPP(fun(U_1406,bool),fun(fun(U_1406,bool),bool),ord_less_eq(fun(U_1406,bool)),U_1405),U_1404)) ),
    inference(variable_rename,[status(thm)],[f_322_1]) ).

cnf(f_322_3,plain,
    ( ti(fun(U_1406,bool),U_1405) = ti(fun(U_1406,bool),U_1404)
    | ~ hBOOL(hAPP(fun(U_1406,bool),bool,hAPP(fun(U_1406,bool),fun(fun(U_1406,bool),bool),ord_less_eq(fun(U_1406,bool)),U_1404),U_1405))
    | ~ hBOOL(hAPP(fun(U_1406,bool),bool,hAPP(fun(U_1406,bool),fun(fun(U_1406,bool),bool),ord_less_eq(fun(U_1406,bool)),U_1405),U_1404)) ),
    inference(clausify,[status(thm)],[f_322_2]) ).

fof(f_323_1,plain,
    ! [X_a,C,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_175_subsetD]) ).

fof(f_323_2,plain,
    ! [U_1410,U_1409,U_1408,U_1407] :
      ( hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(U_1410,fun(fun(U_1410,bool),bool),member(U_1410),U_1409),U_1407))
      | ~ hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(U_1410,fun(fun(U_1410,bool),bool),member(U_1410),U_1409),U_1408))
      | ~ hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(fun(U_1410,bool),fun(fun(U_1410,bool),bool),ord_less_eq(fun(U_1410,bool)),U_1408),U_1407)) ),
    inference(variable_rename,[status(thm)],[f_323_1]) ).

cnf(f_323_3,plain,
    ( hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(U_1410,fun(fun(U_1410,bool),bool),member(U_1410),U_1409),U_1407))
    | ~ hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(U_1410,fun(fun(U_1410,bool),bool),member(U_1410),U_1409),U_1408))
    | ~ hBOOL(hAPP(fun(U_1410,bool),bool,hAPP(fun(U_1410,bool),fun(fun(U_1410,bool),bool),ord_less_eq(fun(U_1410,bool)),U_1408),U_1407)) ),
    inference(clausify,[status(thm)],[f_323_2]) ).

fof(f_324_1,plain,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),S)) ),
    inference(fof_nnf,[status(thm)],[fact_176_rtrancl__mono]) ).

fof(f_324_2,plain,
    ! [U_1413,U_1412,U_1411] :
      ( hBOOL(hAPP(fun(product_prod(U_1413,U_1413),bool),bool,hAPP(fun(product_prod(U_1413,U_1413),bool),fun(fun(product_prod(U_1413,U_1413),bool),bool),ord_less_eq(fun(product_prod(U_1413,U_1413),bool)),hAPP(fun(product_prod(U_1413,U_1413),bool),fun(product_prod(U_1413,U_1413),bool),transitive_rtrancl(U_1413),U_1412)),hAPP(fun(product_prod(U_1413,U_1413),bool),fun(product_prod(U_1413,U_1413),bool),transitive_rtrancl(U_1413),U_1411)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1413,U_1413),bool),bool,hAPP(fun(product_prod(U_1413,U_1413),bool),fun(fun(product_prod(U_1413,U_1413),bool),bool),ord_less_eq(fun(product_prod(U_1413,U_1413),bool)),U_1412),U_1411)) ),
    inference(variable_rename,[status(thm)],[f_324_1]) ).

cnf(f_324_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1413,U_1413),bool),bool,hAPP(fun(product_prod(U_1413,U_1413),bool),fun(fun(product_prod(U_1413,U_1413),bool),bool),ord_less_eq(fun(product_prod(U_1413,U_1413),bool)),hAPP(fun(product_prod(U_1413,U_1413),bool),fun(product_prod(U_1413,U_1413),bool),transitive_rtrancl(U_1413),U_1412)),hAPP(fun(product_prod(U_1413,U_1413),bool),fun(product_prod(U_1413,U_1413),bool),transitive_rtrancl(U_1413),U_1411)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1413,U_1413),bool),bool,hAPP(fun(product_prod(U_1413,U_1413),bool),fun(fun(product_prod(U_1413,U_1413),bool),bool),ord_less_eq(fun(product_prod(U_1413,U_1413),bool)),U_1412),U_1411)) ),
    inference(clausify,[status(thm)],[f_324_2]) ).

fof(f_325_1,plain,
    ! [X_a,R_1,S_2] :
      ( hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),S_2),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),S_2)) ),
    inference(fof_nnf,[status(thm)],[fact_177_rtrancl__subset]) ).

fof(f_325_2,plain,
    ! [U_1416,U_1415,U_1414] :
      ( hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1414) = hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1415)
      | ~ hBOOL(hAPP(fun(product_prod(U_1416,U_1416),bool),bool,hAPP(fun(product_prod(U_1416,U_1416),bool),fun(fun(product_prod(U_1416,U_1416),bool),bool),ord_less_eq(fun(product_prod(U_1416,U_1416),bool)),U_1414),hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1415)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1416,U_1416),bool),bool,hAPP(fun(product_prod(U_1416,U_1416),bool),fun(fun(product_prod(U_1416,U_1416),bool),bool),ord_less_eq(fun(product_prod(U_1416,U_1416),bool)),U_1415),U_1414)) ),
    inference(variable_rename,[status(thm)],[f_325_1]) ).

cnf(f_325_3,plain,
    ( hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1414) = hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1415)
    | ~ hBOOL(hAPP(fun(product_prod(U_1416,U_1416),bool),bool,hAPP(fun(product_prod(U_1416,U_1416),bool),fun(fun(product_prod(U_1416,U_1416),bool),bool),ord_less_eq(fun(product_prod(U_1416,U_1416),bool)),U_1414),hAPP(fun(product_prod(U_1416,U_1416),bool),fun(product_prod(U_1416,U_1416),bool),transitive_rtrancl(U_1416),U_1415)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1416,U_1416),bool),bool,hAPP(fun(product_prod(U_1416,U_1416),bool),fun(fun(product_prod(U_1416,U_1416),bool),bool),ord_less_eq(fun(product_prod(U_1416,U_1416),bool)),U_1415),U_1414)) ),
    inference(clausify,[status(thm)],[f_325_2]) ).

fof(f_326_1,plain,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S))) ),
    inference(fof_nnf,[status(thm)],[fact_178_rtrancl__subset__rtrancl]) ).

fof(f_326_2,plain,
    ! [U_1419,U_1418,U_1417] :
      ( hBOOL(hAPP(fun(product_prod(U_1419,U_1419),bool),bool,hAPP(fun(product_prod(U_1419,U_1419),bool),fun(fun(product_prod(U_1419,U_1419),bool),bool),ord_less_eq(fun(product_prod(U_1419,U_1419),bool)),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1418)),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1417)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1419,U_1419),bool),bool,hAPP(fun(product_prod(U_1419,U_1419),bool),fun(fun(product_prod(U_1419,U_1419),bool),bool),ord_less_eq(fun(product_prod(U_1419,U_1419),bool)),U_1418),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1417))) ),
    inference(variable_rename,[status(thm)],[f_326_1]) ).

cnf(f_326_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1419,U_1419),bool),bool,hAPP(fun(product_prod(U_1419,U_1419),bool),fun(fun(product_prod(U_1419,U_1419),bool),bool),ord_less_eq(fun(product_prod(U_1419,U_1419),bool)),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1418)),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1417)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1419,U_1419),bool),bool,hAPP(fun(product_prod(U_1419,U_1419),bool),fun(fun(product_prod(U_1419,U_1419),bool),bool),ord_less_eq(fun(product_prod(U_1419,U_1419),bool)),U_1418),hAPP(fun(product_prod(U_1419,U_1419),bool),fun(product_prod(U_1419,U_1419),bool),transitive_rtrancl(U_1419),U_1417))) ),
    inference(clausify,[status(thm)],[f_326_2]) ).

fof(f_327_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_179_the_Osimps]) ).

fof(f_327_2,plain,
    ! [U_1421,U_1420] : hAPP(option(U_1421),U_1421,the(U_1421),hAPP(U_1421,option(U_1421),some(U_1421),U_1420)) = ti(U_1421,U_1420),
    inference(variable_rename,[status(thm)],[f_327_1]) ).

cnf(f_327_3,plain,
    hAPP(option(U_1421),U_1421,the(U_1421),hAPP(U_1421,option(U_1421),some(U_1421),U_1420)) = ti(U_1421,U_1420),
    inference(clausify,[status(thm)],[f_327_2]) ).

fof(f_328_1,plain,
    ! [X_a,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),A_2)),
    inference(fof_nnf,[status(thm)],[fact_180_subset__refl]) ).

fof(f_328_2,plain,
    ! [U_1423,U_1422] : hBOOL(hAPP(fun(U_1423,bool),bool,hAPP(fun(U_1423,bool),fun(fun(U_1423,bool),bool),ord_less_eq(fun(U_1423,bool)),U_1422),U_1422)),
    inference(variable_rename,[status(thm)],[f_328_1]) ).

cnf(f_328_3,plain,
    hBOOL(hAPP(fun(U_1423,bool),bool,hAPP(fun(U_1423,bool),fun(fun(U_1423,bool),bool),ord_less_eq(fun(U_1423,bool)),U_1422),U_1422)),
    inference(clausify,[status(thm)],[f_328_2]) ).

fof(f_329_1,plain,
    ! [X_a,A_2,B_1] :
      ( ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) )
      & ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
          & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) )
        | ti(fun(X_a,bool),A_2) != ti(fun(X_a,bool),B_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_181_set__eq__subset]) ).

fof(f_329_2,plain,
    ! [U_1426,U_1425,U_1424] :
      ( ( ti(fun(U_1426,bool),U_1425) = ti(fun(U_1426,bool),U_1424)
        | ~ hBOOL(hAPP(fun(U_1426,bool),bool,hAPP(fun(U_1426,bool),fun(fun(U_1426,bool),bool),ord_less_eq(fun(U_1426,bool)),U_1424),U_1425))
        | ~ hBOOL(hAPP(fun(U_1426,bool),bool,hAPP(fun(U_1426,bool),fun(fun(U_1426,bool),bool),ord_less_eq(fun(U_1426,bool)),U_1425),U_1424)) )
      & ( ( hBOOL(hAPP(fun(U_1426,bool),bool,hAPP(fun(U_1426,bool),fun(fun(U_1426,bool),bool),ord_less_eq(fun(U_1426,bool)),U_1424),U_1425))
          & hBOOL(hAPP(fun(U_1426,bool),bool,hAPP(fun(U_1426,bool),fun(fun(U_1426,bool),bool),ord_less_eq(fun(U_1426,bool)),U_1425),U_1424)) )
        | ti(fun(U_1426,bool),U_1425) != ti(fun(U_1426,bool),U_1424) ) ),
    inference(variable_rename,[status(thm)],[f_329_1]) ).

fof(f_329_3,plain,
    ( ! [U_1432,U_1430,U_1428] :
        ( ti(fun(U_1432,bool),U_1430) = ti(fun(U_1432,bool),U_1428)
        | ~ hBOOL(hAPP(fun(U_1432,bool),bool,hAPP(fun(U_1432,bool),fun(fun(U_1432,bool),bool),ord_less_eq(fun(U_1432,bool)),U_1428),U_1430))
        | ~ hBOOL(hAPP(fun(U_1432,bool),bool,hAPP(fun(U_1432,bool),fun(fun(U_1432,bool),bool),ord_less_eq(fun(U_1432,bool)),U_1430),U_1428)) )
    & ! [U_1431,U_1429,U_1427] :
        ( ( hBOOL(hAPP(fun(U_1431,bool),bool,hAPP(fun(U_1431,bool),fun(fun(U_1431,bool),bool),ord_less_eq(fun(U_1431,bool)),U_1427),U_1429))
          & hBOOL(hAPP(fun(U_1431,bool),bool,hAPP(fun(U_1431,bool),fun(fun(U_1431,bool),bool),ord_less_eq(fun(U_1431,bool)),U_1429),U_1427)) )
        | ti(fun(U_1431,bool),U_1429) != ti(fun(U_1431,bool),U_1427) ) ),
    inference(miniscope,[status(thm)],[f_329_2]) ).

cnf(f_329_4,plain,
    ( hBOOL(hAPP(fun(U_1431,bool),bool,hAPP(fun(U_1431,bool),fun(fun(U_1431,bool),bool),ord_less_eq(fun(U_1431,bool)),U_1429),U_1427))
    | ti(fun(U_1431,bool),U_1429) != ti(fun(U_1431,bool),U_1427) ),
    inference(clausify,[status(thm)],[f_329_3]) ).

cnf(f_329_5,plain,
    ( hBOOL(hAPP(fun(U_1431,bool),bool,hAPP(fun(U_1431,bool),fun(fun(U_1431,bool),bool),ord_less_eq(fun(U_1431,bool)),U_1427),U_1429))
    | ti(fun(U_1431,bool),U_1429) != ti(fun(U_1431,bool),U_1427) ),
    inference(clausify,[status(thm)],[f_329_3]) ).

cnf(f_329_6,plain,
    ( ti(fun(U_1432,bool),U_1430) = ti(fun(U_1432,bool),U_1428)
    | ~ hBOOL(hAPP(fun(U_1432,bool),bool,hAPP(fun(U_1432,bool),fun(fun(U_1432,bool),bool),ord_less_eq(fun(U_1432,bool)),U_1428),U_1430))
    | ~ hBOOL(hAPP(fun(U_1432,bool),bool,hAPP(fun(U_1432,bool),fun(fun(U_1432,bool),bool),ord_less_eq(fun(U_1432,bool)),U_1430),U_1428)) ),
    inference(clausify,[status(thm)],[f_329_3]) ).

fof(f_330_1,plain,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
      | ti(fun(X_a,bool),A_2) != ti(fun(X_a,bool),B_1) ),
    inference(fof_nnf,[status(thm)],[fact_182_equalityD1]) ).

fof(f_330_2,plain,
    ! [U_1435,U_1434,U_1433] :
      ( hBOOL(hAPP(fun(U_1435,bool),bool,hAPP(fun(U_1435,bool),fun(fun(U_1435,bool),bool),ord_less_eq(fun(U_1435,bool)),U_1434),U_1433))
      | ti(fun(U_1435,bool),U_1434) != ti(fun(U_1435,bool),U_1433) ),
    inference(variable_rename,[status(thm)],[f_330_1]) ).

cnf(f_330_3,plain,
    ( hBOOL(hAPP(fun(U_1435,bool),bool,hAPP(fun(U_1435,bool),fun(fun(U_1435,bool),bool),ord_less_eq(fun(U_1435,bool)),U_1434),U_1433))
    | ti(fun(U_1435,bool),U_1434) != ti(fun(U_1435,bool),U_1433) ),
    inference(clausify,[status(thm)],[f_330_2]) ).

fof(f_331_1,plain,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
      | ti(fun(X_a,bool),A_2) != ti(fun(X_a,bool),B_1) ),
    inference(fof_nnf,[status(thm)],[fact_183_equalityD2]) ).

fof(f_331_2,plain,
    ! [U_1438,U_1437,U_1436] :
      ( hBOOL(hAPP(fun(U_1438,bool),bool,hAPP(fun(U_1438,bool),fun(fun(U_1438,bool),bool),ord_less_eq(fun(U_1438,bool)),U_1436),U_1437))
      | ti(fun(U_1438,bool),U_1437) != ti(fun(U_1438,bool),U_1436) ),
    inference(variable_rename,[status(thm)],[f_331_1]) ).

cnf(f_331_3,plain,
    ( hBOOL(hAPP(fun(U_1438,bool),bool,hAPP(fun(U_1438,bool),fun(fun(U_1438,bool),bool),ord_less_eq(fun(U_1438,bool)),U_1436),U_1437))
    | ti(fun(U_1438,bool),U_1437) != ti(fun(U_1438,bool),U_1436) ),
    inference(clausify,[status(thm)],[f_331_2]) ).

fof(f_332_1,plain,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_184_in__mono]) ).

fof(f_332_2,plain,
    ! [U_1442,U_1441,U_1440,U_1439] :
      ( hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(U_1442,fun(fun(U_1442,bool),bool),member(U_1442),U_1441),U_1439))
      | ~ hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(U_1442,fun(fun(U_1442,bool),bool),member(U_1442),U_1441),U_1440))
      | ~ hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(fun(U_1442,bool),fun(fun(U_1442,bool),bool),ord_less_eq(fun(U_1442,bool)),U_1440),U_1439)) ),
    inference(variable_rename,[status(thm)],[f_332_1]) ).

cnf(f_332_3,plain,
    ( hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(U_1442,fun(fun(U_1442,bool),bool),member(U_1442),U_1441),U_1439))
    | ~ hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(U_1442,fun(fun(U_1442,bool),bool),member(U_1442),U_1441),U_1440))
    | ~ hBOOL(hAPP(fun(U_1442,bool),bool,hAPP(fun(U_1442,bool),fun(fun(U_1442,bool),bool),ord_less_eq(fun(U_1442,bool)),U_1440),U_1439)) ),
    inference(clausify,[status(thm)],[f_332_2]) ).

fof(f_333_1,plain,
    ! [X_a,B_1,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_185_set__rev__mp]) ).

fof(f_333_2,plain,
    ! [U_1446,U_1445,U_1444,U_1443] :
      ( hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(U_1446,fun(fun(U_1446,bool),bool),member(U_1446),U_1444),U_1445))
      | ~ hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(fun(U_1446,bool),fun(fun(U_1446,bool),bool),ord_less_eq(fun(U_1446,bool)),U_1443),U_1445))
      | ~ hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(U_1446,fun(fun(U_1446,bool),bool),member(U_1446),U_1444),U_1443)) ),
    inference(variable_rename,[status(thm)],[f_333_1]) ).

cnf(f_333_3,plain,
    ( hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(U_1446,fun(fun(U_1446,bool),bool),member(U_1446),U_1444),U_1445))
    | ~ hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(fun(U_1446,bool),fun(fun(U_1446,bool),bool),ord_less_eq(fun(U_1446,bool)),U_1443),U_1445))
    | ~ hBOOL(hAPP(fun(U_1446,bool),bool,hAPP(U_1446,fun(fun(U_1446,bool),bool),member(U_1446),U_1444),U_1443)) ),
    inference(clausify,[status(thm)],[f_333_2]) ).

fof(f_334_1,plain,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_186_set__mp]) ).

fof(f_334_2,plain,
    ! [U_1450,U_1449,U_1448,U_1447] :
      ( hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(U_1450,fun(fun(U_1450,bool),bool),member(U_1450),U_1449),U_1447))
      | ~ hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(U_1450,fun(fun(U_1450,bool),bool),member(U_1450),U_1449),U_1448))
      | ~ hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(fun(U_1450,bool),fun(fun(U_1450,bool),bool),ord_less_eq(fun(U_1450,bool)),U_1448),U_1447)) ),
    inference(variable_rename,[status(thm)],[f_334_1]) ).

cnf(f_334_3,plain,
    ( hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(U_1450,fun(fun(U_1450,bool),bool),member(U_1450),U_1449),U_1447))
    | ~ hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(U_1450,fun(fun(U_1450,bool),bool),member(U_1450),U_1449),U_1448))
    | ~ hBOOL(hAPP(fun(U_1450,bool),bool,hAPP(fun(U_1450,bool),fun(fun(U_1450,bool),bool),ord_less_eq(fun(U_1450,bool)),U_1448),U_1447)) ),
    inference(clausify,[status(thm)],[f_334_2]) ).

fof(f_335_1,plain,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_187_subset__trans]) ).

fof(f_335_2,plain,
    ! [U_1454,U_1453,U_1452,U_1451] :
      ( hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1452),U_1453))
      | ~ hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1451),U_1453))
      | ~ hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1452),U_1451)) ),
    inference(variable_rename,[status(thm)],[f_335_1]) ).

cnf(f_335_3,plain,
    ( hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1452),U_1453))
    | ~ hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1451),U_1453))
    | ~ hBOOL(hAPP(fun(U_1454,bool),bool,hAPP(fun(U_1454,bool),fun(fun(U_1454,bool),bool),ord_less_eq(fun(U_1454,bool)),U_1452),U_1451)) ),
    inference(clausify,[status(thm)],[f_335_2]) ).

fof(f_336_1,plain,
    ! [X_a,A_2,B_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
        & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) )
      | ti(fun(X_a,bool),A_2) != ti(fun(X_a,bool),B_1) ),
    inference(fof_nnf,[status(thm)],[fact_188_equalityE]) ).

fof(f_336_2,plain,
    ! [U_1457,U_1456,U_1455] :
      ( ( hBOOL(hAPP(fun(U_1457,bool),bool,hAPP(fun(U_1457,bool),fun(fun(U_1457,bool),bool),ord_less_eq(fun(U_1457,bool)),U_1455),U_1456))
        & hBOOL(hAPP(fun(U_1457,bool),bool,hAPP(fun(U_1457,bool),fun(fun(U_1457,bool),bool),ord_less_eq(fun(U_1457,bool)),U_1456),U_1455)) )
      | ti(fun(U_1457,bool),U_1456) != ti(fun(U_1457,bool),U_1455) ),
    inference(variable_rename,[status(thm)],[f_336_1]) ).

cnf(f_336_3,plain,
    ( hBOOL(hAPP(fun(U_1457,bool),bool,hAPP(fun(U_1457,bool),fun(fun(U_1457,bool),bool),ord_less_eq(fun(U_1457,bool)),U_1456),U_1455))
    | ti(fun(U_1457,bool),U_1456) != ti(fun(U_1457,bool),U_1455) ),
    inference(clausify,[status(thm)],[f_336_2]) ).

cnf(f_336_4,plain,
    ( hBOOL(hAPP(fun(U_1457,bool),bool,hAPP(fun(U_1457,bool),fun(fun(U_1457,bool),bool),ord_less_eq(fun(U_1457,bool)),U_1455),U_1456))
    | ti(fun(U_1457,bool),U_1456) != ti(fun(U_1457,bool),U_1455) ),
    inference(clausify,[status(thm)],[f_336_2]) ).

fof(f_337_1,plain,
    ! [X_1,Hb,A_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,Hb),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))) ),
    inference(fof_nnf,[status(thm)],[fact_189_hext__new]) ).

fof(f_337_2,plain,
    ! [U_1460,U_1459,U_1458] :
      ( 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,U_1459),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1459),U_1458),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)))),U_1460))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1459,U_1458) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))) ),
    inference(variable_rename,[status(thm)],[f_337_1]) ).

cnf(f_337_3,plain,
    ( 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,U_1459),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1459),U_1458),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)))),U_1460))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1459,U_1458) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))) ),
    inference(clausify,[status(thm)],[f_337_2]) ).

fof(f_338_1,plain,
    ! [X_a,R_2] : 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_2)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2),
    inference(fof_nnf,[status(thm)],[fact_190_rtrancl__idemp]) ).

fof(f_338_2,plain,
    ! [U_1462,U_1461] : hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),U_1461)) = hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),U_1461),
    inference(variable_rename,[status(thm)],[f_338_1]) ).

cnf(f_338_3,plain,
    hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),U_1461)) = hAPP(fun(product_prod(U_1462,U_1462),bool),fun(product_prod(U_1462,U_1462),bool),transitive_rtrancl(U_1462),U_1461),
    inference(clausify,[status(thm)],[f_338_2]) ).

fof(f_339_1,plain,
    ! [X_a,X_1,A_1,Pa,Hb,Obj_1] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1))),Obj_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1)) ),
    inference(fof_nnf,[status(thm)],[fact_191_oconf__new]) ).

fof(f_339_2,plain,
    ! [U_1468,U_1467,U_1466,U_1465,U_1464,U_1463] :
      ( hBOOL(hAPP(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(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,U_1468)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1468),U_1465),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1464),U_1466),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)))),U_1467))),U_1463))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1464,U_1466) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ hBOOL(hAPP(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(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,U_1468)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1468),U_1465),U_1464),U_1463)) ),
    inference(variable_rename,[status(thm)],[f_339_1]) ).

cnf(f_339_3,plain,
    ( hBOOL(hAPP(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(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,U_1468)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1468),U_1465),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1464),U_1466),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)))),U_1467))),U_1463))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1464,U_1466) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
    | ~ hBOOL(hAPP(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(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,U_1468)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1468),U_1465),U_1464),U_1463)) ),
    inference(clausify,[status(thm)],[f_339_2]) ).

fof(f_340_1,plain,
    ! [X_a,Obj_1,A_1,Pa,Hb] :
      ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),Obj_1))))
      | ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_192_hconf__new]) ).

fof(f_340_2,plain,
    ! [U_1473,U_1472,U_1471,U_1470,U_1469] :
      ( 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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1473),U_1470),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1469),U_1471),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)))),U_1472))))
      | ~ hBOOL(hAPP(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(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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1473),U_1470),U_1469),U_1472))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1469,U_1471) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ 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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1473),U_1470),U_1469)) ),
    inference(variable_rename,[status(thm)],[f_340_1]) ).

cnf(f_340_3,plain,
    ( 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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1473),U_1470),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1469),U_1471),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)))),U_1472))))
    | ~ hBOOL(hAPP(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(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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_1473),U_1470),U_1469),U_1472))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1469,U_1471) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
    | ~ 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,U_1473)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_1473),U_1470),U_1469)) ),
    inference(clausify,[status(thm)],[f_340_2]) ).

fof(f_341_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_193_converse__rtrancl__into__rtrancl]) ).

fof(f_341_2,plain,
    ! [U_1478,U_1477,U_1476,U_1475,U_1474] :
      ( hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1476),U_1477)),hAPP(fun(product_prod(U_1478,U_1478),bool),fun(product_prod(U_1478,U_1478),bool),transitive_rtrancl(U_1478),U_1474)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1475),U_1477)),hAPP(fun(product_prod(U_1478,U_1478),bool),fun(product_prod(U_1478,U_1478),bool),transitive_rtrancl(U_1478),U_1474)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1476),U_1475)),U_1474)) ),
    inference(variable_rename,[status(thm)],[f_341_1]) ).

cnf(f_341_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1476),U_1477)),hAPP(fun(product_prod(U_1478,U_1478),bool),fun(product_prod(U_1478,U_1478),bool),transitive_rtrancl(U_1478),U_1474)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1475),U_1477)),hAPP(fun(product_prod(U_1478,U_1478),bool),fun(product_prod(U_1478,U_1478),bool),transitive_rtrancl(U_1478),U_1474)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1478,U_1478),bool),bool,hAPP(product_prod(U_1478,U_1478),fun(fun(product_prod(U_1478,U_1478),bool),bool),member(product_prod(U_1478,U_1478)),hAPP(U_1478,product_prod(U_1478,U_1478),hAPP(U_1478,fun(U_1478,product_prod(U_1478,U_1478)),product_Pair(U_1478,U_1478),U_1476),U_1475)),U_1474)) ),
    inference(clausify,[status(thm)],[f_341_2]) ).

fof(f_342_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_194_rtrancl_Ortrancl__into__rtrancl]) ).

fof(f_342_2,plain,
    ! [U_1483,U_1482,U_1481,U_1480,U_1479] :
      ( hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1481),U_1482)),hAPP(fun(product_prod(U_1483,U_1483),bool),fun(product_prod(U_1483,U_1483),bool),transitive_rtrancl(U_1483),U_1479)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1480),U_1482)),U_1479))
      | ~ hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1481),U_1480)),hAPP(fun(product_prod(U_1483,U_1483),bool),fun(product_prod(U_1483,U_1483),bool),transitive_rtrancl(U_1483),U_1479))) ),
    inference(variable_rename,[status(thm)],[f_342_1]) ).

cnf(f_342_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1481),U_1482)),hAPP(fun(product_prod(U_1483,U_1483),bool),fun(product_prod(U_1483,U_1483),bool),transitive_rtrancl(U_1483),U_1479)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1480),U_1482)),U_1479))
    | ~ hBOOL(hAPP(fun(product_prod(U_1483,U_1483),bool),bool,hAPP(product_prod(U_1483,U_1483),fun(fun(product_prod(U_1483,U_1483),bool),bool),member(product_prod(U_1483,U_1483)),hAPP(U_1483,product_prod(U_1483,U_1483),hAPP(U_1483,fun(U_1483,product_prod(U_1483,U_1483)),product_Pair(U_1483,U_1483),U_1481),U_1480)),hAPP(fun(product_prod(U_1483,U_1483),bool),fun(product_prod(U_1483,U_1483),bool),transitive_rtrancl(U_1483),U_1479))) ),
    inference(clausify,[status(thm)],[f_342_2]) ).

fof(f_343_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_195_rtrancl__trans]) ).

fof(f_343_2,plain,
    ! [U_1488,U_1487,U_1486,U_1485,U_1484] :
      ( hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1486),U_1487)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1485),U_1487)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484)))
      | ~ hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1486),U_1485)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484))) ),
    inference(variable_rename,[status(thm)],[f_343_1]) ).

cnf(f_343_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1486),U_1487)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1485),U_1487)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1488,U_1488),bool),bool,hAPP(product_prod(U_1488,U_1488),fun(fun(product_prod(U_1488,U_1488),bool),bool),member(product_prod(U_1488,U_1488)),hAPP(U_1488,product_prod(U_1488,U_1488),hAPP(U_1488,fun(U_1488,product_prod(U_1488,U_1488)),product_Pair(U_1488,U_1488),U_1486),U_1485)),hAPP(fun(product_prod(U_1488,U_1488),bool),fun(product_prod(U_1488,U_1488),bool),transitive_rtrancl(U_1488),U_1484))) ),
    inference(clausify,[status(thm)],[f_343_2]) ).

fof(f_344_1,plain,
    ! [X_a,B_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
      | ? [X_2] :
          ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1))
          & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_196_subsetI]) ).

fof(f_344_2,plain,
    ! [U_1492,U_1491,U_1490] :
      ( hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(fun(U_1492,bool),fun(fun(U_1492,bool),bool),ord_less_eq(fun(U_1492,bool)),U_1490),U_1491))
      | ? [U_1489] :
          ( ~ hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),U_1489),U_1491))
          & hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),U_1489),U_1490)) ) ),
    inference(variable_rename,[status(thm)],[f_344_1]) ).

fof(f_344_3,plain,
    ! [U_1492,U_1491,U_1490] :
      ( hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(fun(U_1492,bool),fun(fun(U_1492,bool),bool),ord_less_eq(fun(U_1492,bool)),U_1490),U_1491))
      | ( ~ hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),sK88(U_1492,U_1491,U_1490)),U_1491))
        & hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),sK88(U_1492,U_1491,U_1490)),U_1490)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK88]),skolemize(U_1489,sK88(U_1492,U_1491,U_1490))],[f_344_2]) ).

cnf(f_344_4,plain,
    ( hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),sK88(U_1492,U_1491,U_1490)),U_1490))
    | hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(fun(U_1492,bool),fun(fun(U_1492,bool),bool),ord_less_eq(fun(U_1492,bool)),U_1490),U_1491)) ),
    inference(clausify,[status(thm)],[f_344_3]) ).

cnf(f_344_5,plain,
    ( ~ hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(U_1492,fun(fun(U_1492,bool),bool),member(U_1492),sK88(U_1492,U_1491,U_1490)),U_1491))
    | hBOOL(hAPP(fun(U_1492,bool),bool,hAPP(fun(U_1492,bool),fun(fun(U_1492,bool),bool),ord_less_eq(fun(U_1492,bool)),U_1490),U_1491)) ),
    inference(clausify,[status(thm)],[f_344_3]) ).

fof(f_345_1,plain,
    ! [X_a,X_b,Xa_1,Xb_1,Za,Zb,R_2] :
      ( ? [A_3,B_3] :
          ( 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_3),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),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_2)))
          & 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_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B_3))),R_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),Xa_1),Xb_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)
      | ~ 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_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_2))) ),
    inference(fof_nnf,[status(thm)],[fact_197_converse__rtranclE2]) ).

fof(f_345_2,plain,
    ! [U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495] :
      ( ? [U_1494,U_1493] :
          ( hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1494),U_1493)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1494),U_1493))),U_1495)) )
      | hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498) = hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496)
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495))) ),
    inference(variable_rename,[status(thm)],[f_345_1]) ).

fof(f_345_3,plain,
    ! [U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495] :
      ( ? [U_1493] :
          ( hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),U_1493)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),U_1493))),U_1495)) )
      | hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498) = hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496)
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK89]),skolemize(U_1494,sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495))],[f_345_2]) ).

fof(f_345_4,plain,
    ! [U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495] :
      ( ( hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),sK90(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495))),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495)))
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),sK90(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)))),U_1495)) )
      | hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498) = hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496)
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK90]),skolemize(U_1493,sK90(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495))],[f_345_3]) ).

cnf(f_345_5,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),sK90(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)))),U_1495))
    | hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498) = hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495))) ),
    inference(clausify,[status(thm)],[f_345_4]) ).

cnf(f_345_6,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),sK89(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495)),sK90(U_1501,U_1500,U_1499,U_1498,U_1497,U_1496,U_1495))),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495)))
    | hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498) = hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496)
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool,hAPP(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),fun(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),bool),member(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),hAPP(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(product_prod(U_1501,U_1500),fun(product_prod(U_1501,U_1500),product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500))),product_Pair(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1499),U_1498)),hAPP(U_1500,product_prod(U_1501,U_1500),hAPP(U_1501,fun(U_1500,product_prod(U_1501,U_1500)),product_Pair(U_1501,U_1500),U_1497),U_1496))),hAPP(fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),fun(product_prod(product_prod(U_1501,U_1500),product_prod(U_1501,U_1500)),bool),transitive_rtrancl(product_prod(U_1501,U_1500)),U_1495))) ),
    inference(clausify,[status(thm)],[f_345_4]) ).

fof(f_346_1,plain,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_2] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))
      | ? [A_3,B_3,Aa,Ba] :
          ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_3),B_3))
          & hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,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),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_2)))
          & 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_3),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),Aa),Ba))),R_2)) )
      | ~ 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),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_2))) ),
    inference(fof_nnf,[status(thm)],[fact_198_converse__rtrancl__induct2]) ).

fof(f_346_2,plain,
    ! [U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506] :
      ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
      | ? [U_1505,U_1504,U_1503,U_1502] :
          ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1505),U_1504))
          & hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1503),U_1502))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1505),U_1504)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502))),U_1506)) )
      | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(variable_rename,[status(thm)],[f_346_1]) ).

fof(f_346_3,plain,
    ! [U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506] :
      ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
      | ? [U_1504,U_1503,U_1502] :
          ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),U_1504))
          & hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1503),U_1502))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),U_1504)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502))),U_1506)) )
      | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK91]),skolemize(U_1505,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))],[f_346_2]) ).

fof(f_346_4,plain,
    ! [U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506] :
      ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
      | ? [U_1503,U_1502] :
          ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
          & hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1503),U_1502))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1503),U_1502))),U_1506)) )
      | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK92]),skolemize(U_1504,sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))],[f_346_3]) ).

fof(f_346_5,plain,
    ! [U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506] :
      ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
      | ? [U_1502] :
          ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
          & hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),U_1502))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),U_1502)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),U_1502))),U_1506)) )
      | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK93]),skolemize(U_1503,sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))],[f_346_4]) ).

fof(f_346_6,plain,
    ! [U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506] :
      ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
      | ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
        & hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))),U_1506)) )
      | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK94]),skolemize(U_1502,sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))],[f_346_5]) ).

cnf(f_346_7,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))),U_1506))
    | hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
    | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(clausify,[status(thm)],[f_346_6]) ).

cnf(f_346_8,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506))),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506)))
    | hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
    | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(clausify,[status(thm)],[f_346_6]) ).

cnf(f_346_9,plain,
    ( hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK93(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK94(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
    | hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
    | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(clausify,[status(thm)],[f_346_6]) ).

cnf(f_346_10,plain,
    ( ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,sK91(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)),sK92(U_1513,U_1512,U_1511,U_1510,U_1509,U_1508,U_1507,U_1506)))
    | hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1510),U_1509))
    | ~ hBOOL(hAPP(U_1512,bool,hAPP(U_1513,fun(U_1512,bool),U_1511,U_1508),U_1507))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool,hAPP(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),fun(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),bool),member(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),hAPP(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(product_prod(U_1513,U_1512),fun(product_prod(U_1513,U_1512),product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512))),product_Pair(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1510),U_1509)),hAPP(U_1512,product_prod(U_1513,U_1512),hAPP(U_1513,fun(U_1512,product_prod(U_1513,U_1512)),product_Pair(U_1513,U_1512),U_1508),U_1507))),hAPP(fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),fun(product_prod(product_prod(U_1513,U_1512),product_prod(U_1513,U_1512)),bool),transitive_rtrancl(product_prod(U_1513,U_1512)),U_1506))) ),
    inference(clausify,[status(thm)],[f_346_6]) ).

fof(f_347_1,plain,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_2] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By))
      | ? [A_3,B_3,Aa,Ba] :
          ( ~ 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_3),B_3))
          & 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_3),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),Aa),Ba))),R_2))
          & 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_3),B_3))),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_2))) )
      | ~ 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),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_2))) ),
    inference(fof_nnf,[status(thm)],[fact_199_rtrancl__induct2]) ).

fof(f_347_2,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ? [U_1517,U_1516,U_1515,U_1514] :
          ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1515),U_1514))
          & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1517),U_1516))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1517),U_1516)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1515),U_1514))),U_1518))
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1517),U_1516))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(variable_rename,[status(thm)],[f_347_1]) ).

fof(f_347_3,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ? [U_1517,U_1516] :
          ( ? [U_1515,U_1514] :
              ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1515),U_1514))
              & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1517),U_1516))
              & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1517),U_1516)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1515),U_1514))),U_1518)) )
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1517),U_1516))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(miniscope,[status(thm)],[f_347_2]) ).

fof(f_347_4,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ? [U_1516] :
          ( ? [U_1515,U_1514] :
              ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1515),U_1514))
              & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),U_1516))
              & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),U_1516)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1515),U_1514))),U_1518)) )
          & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),U_1516))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK95]),skolemize(U_1517,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))],[f_347_3]) ).

fof(f_347_5,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ( ? [U_1515,U_1514] :
            ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1515),U_1514))
            & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
            & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1515),U_1514))),U_1518)) )
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK96]),skolemize(U_1516,sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))],[f_347_4]) ).

fof(f_347_6,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ( ? [U_1514] :
            ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),U_1514))
            & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
            & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),U_1514))),U_1518)) )
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK97]),skolemize(U_1515,sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))],[f_347_5]) ).

fof(f_347_7,plain,
    ! [U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518] :
      ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
      | ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK98(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
        & hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK98(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),U_1518))
        & hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) )
      | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK98]),skolemize(U_1514,sK98(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))],[f_347_6]) ).

cnf(f_347_8,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518)))
    | hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
    | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(clausify,[status(thm)],[f_347_7]) ).

cnf(f_347_9,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518))),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK98(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))),U_1518))
    | hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
    | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(clausify,[status(thm)],[f_347_7]) ).

cnf(f_347_10,plain,
    ( hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK95(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK96(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
    | hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
    | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(clausify,[status(thm)],[f_347_7]) ).

cnf(f_347_11,plain,
    ( ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,sK97(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)),sK98(U_1525,U_1524,U_1523,U_1522,U_1521,U_1520,U_1519,U_1518)))
    | hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1520),U_1519))
    | ~ hBOOL(hAPP(U_1524,bool,hAPP(U_1525,fun(U_1524,bool),U_1523,U_1522),U_1521))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool,hAPP(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),fun(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),bool),member(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),hAPP(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(product_prod(U_1525,U_1524),fun(product_prod(U_1525,U_1524),product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524))),product_Pair(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1522),U_1521)),hAPP(U_1524,product_prod(U_1525,U_1524),hAPP(U_1525,fun(U_1524,product_prod(U_1525,U_1524)),product_Pair(U_1525,U_1524),U_1520),U_1519))),hAPP(fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),fun(product_prod(product_prod(U_1525,U_1524),product_prod(U_1525,U_1524)),bool),transitive_rtrancl(product_prod(U_1525,U_1524)),U_1518))) ),
    inference(clausify,[status(thm)],[f_347_7]) ).

fof(f_348_1,plain,
    ! [Lb,Ea,Eb,Ta,Hb,Pa] :
      ( ? [E_1,S_5] : 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1),S_5))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)),Eb))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),Eb),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb))))
      | ~ 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_1,Pa),Hb),Ea),Eb),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),Hb))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_200_progress]) ).

fof(f_348_2,plain,
    ! [U_1533,U_1532,U_1531,U_1530,U_1529,U_1528] :
      ( ? [U_1527,U_1526] : 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)))),U_1531),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))),U_1529),U_1533))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1527),U_1526))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1528)))
      | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1531))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_1531),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1533))))
      | ~ 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_1,U_1528),U_1529),U_1532),U_1531),U_1530))
      | ~ 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)))),U_1528),U_1529))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1528)) ),
    inference(variable_rename,[status(thm)],[f_348_1]) ).

fof(f_348_3,plain,
    ! [U_1533,U_1532,U_1531,U_1530,U_1529,U_1528] :
      ( ? [U_1526] : 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)))),U_1531),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))),U_1529),U_1533))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),sK99(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528)),U_1526))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1528)))
      | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1531))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_1531),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1533))))
      | ~ 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_1,U_1528),U_1529),U_1532),U_1531),U_1530))
      | ~ 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)))),U_1528),U_1529))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1528)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK99]),skolemize(U_1527,sK99(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528))],[f_348_2]) ).

fof(f_348_4,plain,
    ! [U_1533,U_1532,U_1531,U_1530,U_1529,U_1528] :
      ( 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)))),U_1531),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))),U_1529),U_1533))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),sK99(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528)),sK100(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1528)))
      | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1531))
      | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_1531),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1533))))
      | ~ 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_1,U_1528),U_1529),U_1532),U_1531),U_1530))
      | ~ 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)))),U_1528),U_1529))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1528)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK100]),skolemize(U_1526,sK100(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528))],[f_348_3]) ).

cnf(f_348_5,plain,
    ( 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)))),U_1531),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))),U_1529),U_1533))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),sK99(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528)),sK100(U_1533,U_1532,U_1531,U_1530,U_1529,U_1528)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1528)))
    | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1531))
    | ~ hBOOL(hAPP(option(fun(list(char),bool)),bool,hAPP(exp(list(char)),fun(option(fun(list(char),bool)),bool),d(list(char)),U_1531),hAPP(fun(list(char),bool),option(fun(list(char),bool)),some(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1533))))
    | ~ 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_1,U_1528),U_1529),U_1532),U_1531),U_1530))
    | ~ 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)))),U_1528),U_1529))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1528)) ),
    inference(clausify,[status(thm)],[f_348_4]) ).

fof(f_349_1,plain,
    ! [X_a,Y] :
      ( ? [A_3] : ti(option(X_a),Y) = hAPP(X_a,option(X_a),some(X_a),A_3)
      | ti(option(X_a),Y) = none(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_201_option_Oexhaust]) ).

fof(f_349_2,plain,
    ! [U_1536,U_1535] :
      ( ? [U_1534] : ti(option(U_1536),U_1535) = hAPP(U_1536,option(U_1536),some(U_1536),U_1534)
      | ti(option(U_1536),U_1535) = none(U_1536) ),
    inference(variable_rename,[status(thm)],[f_349_1]) ).

fof(f_349_3,plain,
    ! [U_1536,U_1535] :
      ( ti(option(U_1536),U_1535) = hAPP(U_1536,option(U_1536),some(U_1536),sK101(U_1536,U_1535))
      | ti(option(U_1536),U_1535) = none(U_1536) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK101]),skolemize(U_1534,sK101(U_1536,U_1535))],[f_349_2]) ).

cnf(f_349_4,plain,
    ( ti(option(U_1536),U_1535) = hAPP(U_1536,option(U_1536),some(U_1536),sK101(U_1536,U_1535))
    | ti(option(U_1536),U_1535) = none(U_1536) ),
    inference(clausify,[status(thm)],[f_349_3]) ).

fof(f_350_1,plain,
    ! [X_a] :
      ( ! [X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),X))
      | ~ preorder(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_202_order__refl]) ).

fof(f_350_2,plain,
    ! [U_1538] :
      ( ! [U_1537] : hBOOL(hAPP(U_1538,bool,hAPP(U_1538,fun(U_1538,bool),ord_less_eq(U_1538),U_1537),U_1537))
      | ~ preorder(U_1538) ),
    inference(variable_rename,[status(thm)],[f_350_1]) ).

cnf(f_350_3,plain,
    ( hBOOL(hAPP(U_1538,bool,hAPP(U_1538,fun(U_1538,bool),ord_less_eq(U_1538),U_1537),U_1537))
    | ~ preorder(U_1538) ),
    inference(clausify,[status(thm)],[f_350_2]) ).

fof(f_351_1,plain,
    ! [X_a,Pa,A_1,B,R_2] :
      ( hBOOL(hAPP(X_a,bool,Pa,B))
      | ? [Y_2,Z] :
          ( ~ hBOOL(hAPP(X_a,bool,Pa,Z))
          & hBOOL(hAPP(X_a,bool,Pa,Y_2))
          & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R_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_1),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) )
      | ~ hBOOL(hAPP(X_a,bool,Pa,A_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_203_rtrancl__induct]) ).

fof(f_351_2,plain,
    ! [U_1545,U_1544,U_1543,U_1542,U_1541] :
      ( hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
      | ? [U_1540,U_1539] :
          ( ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1539))
          & hBOOL(hAPP(U_1545,bool,U_1544,U_1540))
          & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1540),U_1539)),U_1541))
          & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1540)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) )
      | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
      | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(variable_rename,[status(thm)],[f_351_1]) ).

fof(f_351_3,plain,
    ! [U_1545,U_1544,U_1543,U_1542,U_1541] :
      ( hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
      | ? [U_1540] :
          ( ? [U_1539] :
              ( ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1539))
              & hBOOL(hAPP(U_1545,bool,U_1544,U_1540))
              & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1540),U_1539)),U_1541)) )
          & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1540)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) )
      | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
      | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(miniscope,[status(thm)],[f_351_2]) ).

fof(f_351_4,plain,
    ! [U_1545,U_1544,U_1543,U_1542,U_1541] :
      ( hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
      | ( ? [U_1539] :
            ( ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1539))
            & hBOOL(hAPP(U_1545,bool,U_1544,sK102(U_1545,U_1544,U_1543,U_1542,U_1541)))
            & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),sK102(U_1545,U_1544,U_1543,U_1542,U_1541)),U_1539)),U_1541)) )
        & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),sK102(U_1545,U_1544,U_1543,U_1542,U_1541))),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) )
      | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
      | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK102]),skolemize(U_1540,sK102(U_1545,U_1544,U_1543,U_1542,U_1541))],[f_351_3]) ).

fof(f_351_5,plain,
    ! [U_1545,U_1544,U_1543,U_1542,U_1541] :
      ( hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
      | ( ~ hBOOL(hAPP(U_1545,bool,U_1544,sK103(U_1545,U_1544,U_1543,U_1542,U_1541)))
        & hBOOL(hAPP(U_1545,bool,U_1544,sK102(U_1545,U_1544,U_1543,U_1542,U_1541)))
        & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),sK102(U_1545,U_1544,U_1543,U_1542,U_1541)),sK103(U_1545,U_1544,U_1543,U_1542,U_1541))),U_1541))
        & hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),sK102(U_1545,U_1544,U_1543,U_1542,U_1541))),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) )
      | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
      | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK103]),skolemize(U_1539,sK103(U_1545,U_1544,U_1543,U_1542,U_1541))],[f_351_4]) ).

cnf(f_351_6,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),sK102(U_1545,U_1544,U_1543,U_1542,U_1541))),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541)))
    | hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
    | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
    | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(clausify,[status(thm)],[f_351_5]) ).

cnf(f_351_7,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),sK102(U_1545,U_1544,U_1543,U_1542,U_1541)),sK103(U_1545,U_1544,U_1543,U_1542,U_1541))),U_1541))
    | hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
    | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
    | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(clausify,[status(thm)],[f_351_5]) ).

cnf(f_351_8,plain,
    ( hBOOL(hAPP(U_1545,bool,U_1544,sK102(U_1545,U_1544,U_1543,U_1542,U_1541)))
    | hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
    | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
    | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(clausify,[status(thm)],[f_351_5]) ).

cnf(f_351_9,plain,
    ( ~ hBOOL(hAPP(U_1545,bool,U_1544,sK103(U_1545,U_1544,U_1543,U_1542,U_1541)))
    | hBOOL(hAPP(U_1545,bool,U_1544,U_1542))
    | ~ hBOOL(hAPP(U_1545,bool,U_1544,U_1543))
    | ~ hBOOL(hAPP(fun(product_prod(U_1545,U_1545),bool),bool,hAPP(product_prod(U_1545,U_1545),fun(fun(product_prod(U_1545,U_1545),bool),bool),member(product_prod(U_1545,U_1545)),hAPP(U_1545,product_prod(U_1545,U_1545),hAPP(U_1545,fun(U_1545,product_prod(U_1545,U_1545)),product_Pair(U_1545,U_1545),U_1543),U_1542)),hAPP(fun(product_prod(U_1545,U_1545),bool),fun(product_prod(U_1545,U_1545),bool),transitive_rtrancl(U_1545),U_1541))) ),
    inference(clausify,[status(thm)],[f_351_5]) ).

fof(f_352_1,plain,
    ! [X_a,X_b,R_1,S_2] :
      ( ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)))
        | ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),bool),ord_less_eq(fun(product_prod(X_a,X_b),bool)),R_1),S_2)) )
      & ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),bool),ord_less_eq(fun(product_prod(X_a,X_b),bool)),R_1),S_2))
        | ~ hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2))) ) ),
    inference(fof_nnf,[status(thm)],[fact_204_pred__subset__eq2]) ).

fof(f_352_2,plain,
    ! [U_1549,U_1548,U_1547,U_1546] :
      ( ( hBOOL(hAPP(fun(U_1549,fun(U_1548,bool)),bool,hAPP(fun(U_1549,fun(U_1548,bool)),fun(fun(U_1549,fun(U_1548,bool)),bool),ord_less_eq(fun(U_1549,fun(U_1548,bool))),hAPP(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool)),hAPP(fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool))),combc(U_1549,fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),hAPP(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),hAPP(fun(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)))),combb(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),U_1549),combc(U_1548,fun(product_prod(U_1549,U_1548),bool),bool)),hAPP(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),hAPP(fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)))),combb(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),U_1549),hAPP(fun(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),combb(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool),U_1548),member(product_prod(U_1549,U_1548)))),product_Pair(U_1549,U_1548)))),U_1547)),hAPP(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool)),hAPP(fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool))),combc(U_1549,fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),hAPP(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),hAPP(fun(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)))),combb(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),U_1549),combc(U_1548,fun(product_prod(U_1549,U_1548),bool),bool)),hAPP(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),hAPP(fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)))),combb(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),U_1549),hAPP(fun(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),combb(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool),U_1548),member(product_prod(U_1549,U_1548)))),product_Pair(U_1549,U_1548)))),U_1546)))
        | ~ hBOOL(hAPP(fun(product_prod(U_1549,U_1548),bool),bool,hAPP(fun(product_prod(U_1549,U_1548),bool),fun(fun(product_prod(U_1549,U_1548),bool),bool),ord_less_eq(fun(product_prod(U_1549,U_1548),bool)),U_1547),U_1546)) )
      & ( hBOOL(hAPP(fun(product_prod(U_1549,U_1548),bool),bool,hAPP(fun(product_prod(U_1549,U_1548),bool),fun(fun(product_prod(U_1549,U_1548),bool),bool),ord_less_eq(fun(product_prod(U_1549,U_1548),bool)),U_1547),U_1546))
        | ~ hBOOL(hAPP(fun(U_1549,fun(U_1548,bool)),bool,hAPP(fun(U_1549,fun(U_1548,bool)),fun(fun(U_1549,fun(U_1548,bool)),bool),ord_less_eq(fun(U_1549,fun(U_1548,bool))),hAPP(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool)),hAPP(fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool))),combc(U_1549,fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),hAPP(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),hAPP(fun(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)))),combb(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),U_1549),combc(U_1548,fun(product_prod(U_1549,U_1548),bool),bool)),hAPP(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),hAPP(fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)))),combb(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),U_1549),hAPP(fun(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),combb(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool),U_1548),member(product_prod(U_1549,U_1548)))),product_Pair(U_1549,U_1548)))),U_1547)),hAPP(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool)),hAPP(fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1549,fun(U_1548,bool))),combc(U_1549,fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),hAPP(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),hAPP(fun(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool))),fun(fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(U_1549,fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)))),combb(fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(product_prod(U_1549,U_1548),bool),fun(U_1548,bool)),U_1549),combc(U_1548,fun(product_prod(U_1549,U_1548),bool),bool)),hAPP(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),hAPP(fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),fun(fun(U_1549,fun(U_1548,product_prod(U_1549,U_1548))),fun(U_1549,fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)))),combb(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool)),U_1549),hAPP(fun(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool)),fun(fun(U_1548,product_prod(U_1549,U_1548)),fun(U_1548,fun(fun(product_prod(U_1549,U_1548),bool),bool))),combb(product_prod(U_1549,U_1548),fun(fun(product_prod(U_1549,U_1548),bool),bool),U_1548),member(product_prod(U_1549,U_1548)))),product_Pair(U_1549,U_1548)))),U_1546))) ) ),
    inference(variable_rename,[status(thm)],[f_352_1]) ).

fof(f_352_3,plain,
    ( ! [U_1557,U_1555,U_1553,U_1551] :
        ( hBOOL(hAPP(fun(U_1557,fun(U_1555,bool)),bool,hAPP(fun(U_1557,fun(U_1555,bool)),fun(fun(U_1557,fun(U_1555,bool)),bool),ord_less_eq(fun(U_1557,fun(U_1555,bool))),hAPP(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool)),hAPP(fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool))),combc(U_1557,fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),hAPP(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),hAPP(fun(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)))),combb(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),U_1557),combc(U_1555,fun(product_prod(U_1557,U_1555),bool),bool)),hAPP(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),hAPP(fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)))),combb(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),U_1557),hAPP(fun(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),combb(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool),U_1555),member(product_prod(U_1557,U_1555)))),product_Pair(U_1557,U_1555)))),U_1553)),hAPP(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool)),hAPP(fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool))),combc(U_1557,fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),hAPP(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),hAPP(fun(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)))),combb(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),U_1557),combc(U_1555,fun(product_prod(U_1557,U_1555),bool),bool)),hAPP(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),hAPP(fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)))),combb(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),U_1557),hAPP(fun(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),combb(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool),U_1555),member(product_prod(U_1557,U_1555)))),product_Pair(U_1557,U_1555)))),U_1551)))
        | ~ hBOOL(hAPP(fun(product_prod(U_1557,U_1555),bool),bool,hAPP(fun(product_prod(U_1557,U_1555),bool),fun(fun(product_prod(U_1557,U_1555),bool),bool),ord_less_eq(fun(product_prod(U_1557,U_1555),bool)),U_1553),U_1551)) )
    & ! [U_1556,U_1554,U_1552,U_1550] :
        ( hBOOL(hAPP(fun(product_prod(U_1556,U_1554),bool),bool,hAPP(fun(product_prod(U_1556,U_1554),bool),fun(fun(product_prod(U_1556,U_1554),bool),bool),ord_less_eq(fun(product_prod(U_1556,U_1554),bool)),U_1552),U_1550))
        | ~ hBOOL(hAPP(fun(U_1556,fun(U_1554,bool)),bool,hAPP(fun(U_1556,fun(U_1554,bool)),fun(fun(U_1556,fun(U_1554,bool)),bool),ord_less_eq(fun(U_1556,fun(U_1554,bool))),hAPP(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool)),hAPP(fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool))),combc(U_1556,fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),hAPP(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),hAPP(fun(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)))),combb(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),U_1556),combc(U_1554,fun(product_prod(U_1556,U_1554),bool),bool)),hAPP(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),hAPP(fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)))),combb(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),U_1556),hAPP(fun(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),combb(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool),U_1554),member(product_prod(U_1556,U_1554)))),product_Pair(U_1556,U_1554)))),U_1552)),hAPP(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool)),hAPP(fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool))),combc(U_1556,fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),hAPP(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),hAPP(fun(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)))),combb(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),U_1556),combc(U_1554,fun(product_prod(U_1556,U_1554),bool),bool)),hAPP(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),hAPP(fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)))),combb(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),U_1556),hAPP(fun(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),combb(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool),U_1554),member(product_prod(U_1556,U_1554)))),product_Pair(U_1556,U_1554)))),U_1550))) ) ),
    inference(miniscope,[status(thm)],[f_352_2]) ).

cnf(f_352_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1556,U_1554),bool),bool,hAPP(fun(product_prod(U_1556,U_1554),bool),fun(fun(product_prod(U_1556,U_1554),bool),bool),ord_less_eq(fun(product_prod(U_1556,U_1554),bool)),U_1552),U_1550))
    | ~ hBOOL(hAPP(fun(U_1556,fun(U_1554,bool)),bool,hAPP(fun(U_1556,fun(U_1554,bool)),fun(fun(U_1556,fun(U_1554,bool)),bool),ord_less_eq(fun(U_1556,fun(U_1554,bool))),hAPP(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool)),hAPP(fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool))),combc(U_1556,fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),hAPP(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),hAPP(fun(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)))),combb(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),U_1556),combc(U_1554,fun(product_prod(U_1556,U_1554),bool),bool)),hAPP(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),hAPP(fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)))),combb(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),U_1556),hAPP(fun(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),combb(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool),U_1554),member(product_prod(U_1556,U_1554)))),product_Pair(U_1556,U_1554)))),U_1552)),hAPP(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool)),hAPP(fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1556,fun(U_1554,bool))),combc(U_1556,fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),hAPP(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),hAPP(fun(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool))),fun(fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(U_1556,fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)))),combb(fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(product_prod(U_1556,U_1554),bool),fun(U_1554,bool)),U_1556),combc(U_1554,fun(product_prod(U_1556,U_1554),bool),bool)),hAPP(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),hAPP(fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),fun(fun(U_1556,fun(U_1554,product_prod(U_1556,U_1554))),fun(U_1556,fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)))),combb(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool)),U_1556),hAPP(fun(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool)),fun(fun(U_1554,product_prod(U_1556,U_1554)),fun(U_1554,fun(fun(product_prod(U_1556,U_1554),bool),bool))),combb(product_prod(U_1556,U_1554),fun(fun(product_prod(U_1556,U_1554),bool),bool),U_1554),member(product_prod(U_1556,U_1554)))),product_Pair(U_1556,U_1554)))),U_1550))) ),
    inference(clausify,[status(thm)],[f_352_3]) ).

cnf(f_352_5,plain,
    ( hBOOL(hAPP(fun(U_1557,fun(U_1555,bool)),bool,hAPP(fun(U_1557,fun(U_1555,bool)),fun(fun(U_1557,fun(U_1555,bool)),bool),ord_less_eq(fun(U_1557,fun(U_1555,bool))),hAPP(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool)),hAPP(fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool))),combc(U_1557,fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),hAPP(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),hAPP(fun(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)))),combb(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),U_1557),combc(U_1555,fun(product_prod(U_1557,U_1555),bool),bool)),hAPP(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),hAPP(fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)))),combb(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),U_1557),hAPP(fun(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),combb(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool),U_1555),member(product_prod(U_1557,U_1555)))),product_Pair(U_1557,U_1555)))),U_1553)),hAPP(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool)),hAPP(fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1557,fun(U_1555,bool))),combc(U_1557,fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),hAPP(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),hAPP(fun(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool))),fun(fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(U_1557,fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)))),combb(fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(product_prod(U_1557,U_1555),bool),fun(U_1555,bool)),U_1557),combc(U_1555,fun(product_prod(U_1557,U_1555),bool),bool)),hAPP(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),hAPP(fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),fun(fun(U_1557,fun(U_1555,product_prod(U_1557,U_1555))),fun(U_1557,fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)))),combb(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool)),U_1557),hAPP(fun(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool)),fun(fun(U_1555,product_prod(U_1557,U_1555)),fun(U_1555,fun(fun(product_prod(U_1557,U_1555),bool),bool))),combb(product_prod(U_1557,U_1555),fun(fun(product_prod(U_1557,U_1555),bool),bool),U_1555),member(product_prod(U_1557,U_1555)))),product_Pair(U_1557,U_1555)))),U_1551)))
    | ~ hBOOL(hAPP(fun(product_prod(U_1557,U_1555),bool),bool,hAPP(fun(product_prod(U_1557,U_1555),bool),fun(fun(product_prod(U_1557,U_1555),bool),bool),ord_less_eq(fun(product_prod(U_1557,U_1555),bool)),U_1553),U_1551)) ),
    inference(clausify,[status(thm)],[f_352_3]) ).

fof(f_353_1,plain,
    ! [X_a] :
      ( ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) )
      | ~ linorder(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_205_linorder__le__cases]) ).

fof(f_353_2,plain,
    ! [U_1560] :
      ( ! [U_1559,U_1558] :
          ( hBOOL(hAPP(U_1560,bool,hAPP(U_1560,fun(U_1560,bool),ord_less_eq(U_1560),U_1558),U_1559))
          | hBOOL(hAPP(U_1560,bool,hAPP(U_1560,fun(U_1560,bool),ord_less_eq(U_1560),U_1559),U_1558)) )
      | ~ linorder(U_1560) ),
    inference(variable_rename,[status(thm)],[f_353_1]) ).

cnf(f_353_3,plain,
    ( hBOOL(hAPP(U_1560,bool,hAPP(U_1560,fun(U_1560,bool),ord_less_eq(U_1560),U_1558),U_1559))
    | hBOOL(hAPP(U_1560,bool,hAPP(U_1560,fun(U_1560,bool),ord_less_eq(U_1560),U_1559),U_1558))
    | ~ linorder(U_1560) ),
    inference(clausify,[status(thm)],[f_353_2]) ).

fof(f_354_1,plain,
    ! [X_a] :
      ( ! [Z_2,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),Y))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_206_xt1_I6_J]) ).

fof(f_354_2,plain,
    ! [U_1564] :
      ( ! [U_1563,U_1562,U_1561] :
          ( hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1563),U_1561))
          | ~ hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1563),U_1562))
          | ~ hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1562),U_1561)) )
      | ~ order(U_1564) ),
    inference(variable_rename,[status(thm)],[f_354_1]) ).

cnf(f_354_3,plain,
    ( hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1563),U_1561))
    | ~ hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1563),U_1562))
    | ~ hBOOL(hAPP(U_1564,bool,hAPP(U_1564,fun(U_1564,bool),ord_less_eq(U_1564),U_1562),U_1561))
    | ~ order(U_1564) ),
    inference(clausify,[status(thm)],[f_354_2]) ).

fof(f_355_1,plain,
    ! [X_a] :
      ( ! [Y,X] :
          ( ti(X_a,X) = ti(X_a,Y)
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_207_xt1_I5_J]) ).

fof(f_355_2,plain,
    ! [U_1567] :
      ( ! [U_1566,U_1565] :
          ( ti(U_1567,U_1565) = ti(U_1567,U_1566)
          | ~ hBOOL(hAPP(U_1567,bool,hAPP(U_1567,fun(U_1567,bool),ord_less_eq(U_1567),U_1565),U_1566))
          | ~ hBOOL(hAPP(U_1567,bool,hAPP(U_1567,fun(U_1567,bool),ord_less_eq(U_1567),U_1566),U_1565)) )
      | ~ order(U_1567) ),
    inference(variable_rename,[status(thm)],[f_355_1]) ).

cnf(f_355_3,plain,
    ( ti(U_1567,U_1565) = ti(U_1567,U_1566)
    | ~ hBOOL(hAPP(U_1567,bool,hAPP(U_1567,fun(U_1567,bool),ord_less_eq(U_1567),U_1565),U_1566))
    | ~ hBOOL(hAPP(U_1567,bool,hAPP(U_1567,fun(U_1567,bool),ord_less_eq(U_1567),U_1566),U_1565))
    | ~ order(U_1567) ),
    inference(clausify,[status(thm)],[f_355_2]) ).

fof(f_356_1,plain,
    ! [X_a] :
      ( ! [Z_2,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z_2))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_2))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) )
      | ~ preorder(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_208_order__trans]) ).

fof(f_356_2,plain,
    ! [U_1571] :
      ( ! [U_1570,U_1569,U_1568] :
          ( hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1569),U_1570))
          | ~ hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1568),U_1570))
          | ~ hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1569),U_1568)) )
      | ~ preorder(U_1571) ),
    inference(variable_rename,[status(thm)],[f_356_1]) ).

cnf(f_356_3,plain,
    ( hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1569),U_1570))
    | ~ hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1568),U_1570))
    | ~ hBOOL(hAPP(U_1571,bool,hAPP(U_1571,fun(U_1571,bool),ord_less_eq(U_1571),U_1569),U_1568))
    | ~ preorder(U_1571) ),
    inference(clausify,[status(thm)],[f_356_2]) ).

fof(f_357_1,plain,
    ! [X_a] :
      ( ! [X,Y] :
          ( ti(X_a,X) = ti(X_a,Y)
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_209_order__antisym]) ).

fof(f_357_2,plain,
    ! [U_1574] :
      ( ! [U_1573,U_1572] :
          ( ti(U_1574,U_1573) = ti(U_1574,U_1572)
          | ~ hBOOL(hAPP(U_1574,bool,hAPP(U_1574,fun(U_1574,bool),ord_less_eq(U_1574),U_1572),U_1573))
          | ~ hBOOL(hAPP(U_1574,bool,hAPP(U_1574,fun(U_1574,bool),ord_less_eq(U_1574),U_1573),U_1572)) )
      | ~ order(U_1574) ),
    inference(variable_rename,[status(thm)],[f_357_1]) ).

cnf(f_357_3,plain,
    ( ti(U_1574,U_1573) = ti(U_1574,U_1572)
    | ~ hBOOL(hAPP(U_1574,bool,hAPP(U_1574,fun(U_1574,bool),ord_less_eq(U_1574),U_1572),U_1573))
    | ~ hBOOL(hAPP(U_1574,bool,hAPP(U_1574,fun(U_1574,bool),ord_less_eq(U_1574),U_1573),U_1572))
    | ~ order(U_1574) ),
    inference(clausify,[status(thm)],[f_357_2]) ).

fof(f_358_1,plain,
    ! [X_a] :
      ( ! [C_6,B_2,A_5] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),A_5))
          | ti(X_a,B_2) != ti(X_a,C_6)
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),A_5)) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_210_xt1_I4_J]) ).

fof(f_358_2,plain,
    ! [U_1578] :
      ( ! [U_1577,U_1576,U_1575] :
          ( hBOOL(hAPP(U_1578,bool,hAPP(U_1578,fun(U_1578,bool),ord_less_eq(U_1578),U_1577),U_1575))
          | ti(U_1578,U_1576) != ti(U_1578,U_1577)
          | ~ hBOOL(hAPP(U_1578,bool,hAPP(U_1578,fun(U_1578,bool),ord_less_eq(U_1578),U_1576),U_1575)) )
      | ~ order(U_1578) ),
    inference(variable_rename,[status(thm)],[f_358_1]) ).

cnf(f_358_3,plain,
    ( hBOOL(hAPP(U_1578,bool,hAPP(U_1578,fun(U_1578,bool),ord_less_eq(U_1578),U_1577),U_1575))
    | ti(U_1578,U_1576) != ti(U_1578,U_1577)
    | ~ hBOOL(hAPP(U_1578,bool,hAPP(U_1578,fun(U_1578,bool),ord_less_eq(U_1578),U_1576),U_1575))
    | ~ order(U_1578) ),
    inference(clausify,[status(thm)],[f_358_2]) ).

fof(f_359_1,plain,
    ! [X_a] :
      ( ! [C_6,A_5,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6))
          | B_2 != C_6
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),B_2)) )
      | ~ ord(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_211_ord__le__eq__trans]) ).

fof(f_359_2,plain,
    ! [U_1582] :
      ( ! [U_1581,U_1580,U_1579] :
          ( hBOOL(hAPP(U_1582,bool,hAPP(U_1582,fun(U_1582,bool),ord_less_eq(U_1582),U_1580),U_1581))
          | U_1579 != U_1581
          | ~ hBOOL(hAPP(U_1582,bool,hAPP(U_1582,fun(U_1582,bool),ord_less_eq(U_1582),U_1580),U_1579)) )
      | ~ ord(U_1582) ),
    inference(variable_rename,[status(thm)],[f_359_1]) ).

cnf(f_359_3,plain,
    ( hBOOL(hAPP(U_1582,bool,hAPP(U_1582,fun(U_1582,bool),ord_less_eq(U_1582),U_1580),U_1581))
    | U_1579 != U_1581
    | ~ hBOOL(hAPP(U_1582,bool,hAPP(U_1582,fun(U_1582,bool),ord_less_eq(U_1582),U_1580),U_1579))
    | ~ ord(U_1582) ),
    inference(clausify,[status(thm)],[f_359_2]) ).

fof(f_360_1,plain,
    ! [X_a] :
      ( ! [C_6,A_5,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),A_5))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_6),B_2))
          | ti(X_a,A_5) != ti(X_a,B_2) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_212_xt1_I3_J]) ).

fof(f_360_2,plain,
    ! [U_1586] :
      ( ! [U_1585,U_1584,U_1583] :
          ( hBOOL(hAPP(U_1586,bool,hAPP(U_1586,fun(U_1586,bool),ord_less_eq(U_1586),U_1585),U_1584))
          | ~ hBOOL(hAPP(U_1586,bool,hAPP(U_1586,fun(U_1586,bool),ord_less_eq(U_1586),U_1585),U_1583))
          | ti(U_1586,U_1584) != ti(U_1586,U_1583) )
      | ~ order(U_1586) ),
    inference(variable_rename,[status(thm)],[f_360_1]) ).

cnf(f_360_3,plain,
    ( hBOOL(hAPP(U_1586,bool,hAPP(U_1586,fun(U_1586,bool),ord_less_eq(U_1586),U_1585),U_1584))
    | ~ hBOOL(hAPP(U_1586,bool,hAPP(U_1586,fun(U_1586,bool),ord_less_eq(U_1586),U_1585),U_1583))
    | ti(U_1586,U_1584) != ti(U_1586,U_1583)
    | ~ order(U_1586) ),
    inference(clausify,[status(thm)],[f_360_2]) ).

fof(f_361_1,plain,
    ! [X_a] :
      ( ! [C_6,A_5,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),C_6))
          | A_5 != B_2 )
      | ~ ord(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_213_ord__eq__le__trans]) ).

fof(f_361_2,plain,
    ! [U_1590] :
      ( ! [U_1589,U_1588,U_1587] :
          ( hBOOL(hAPP(U_1590,bool,hAPP(U_1590,fun(U_1590,bool),ord_less_eq(U_1590),U_1588),U_1589))
          | ~ hBOOL(hAPP(U_1590,bool,hAPP(U_1590,fun(U_1590,bool),ord_less_eq(U_1590),U_1587),U_1589))
          | U_1588 != U_1587 )
      | ~ ord(U_1590) ),
    inference(variable_rename,[status(thm)],[f_361_1]) ).

cnf(f_361_3,plain,
    ( hBOOL(hAPP(U_1590,bool,hAPP(U_1590,fun(U_1590,bool),ord_less_eq(U_1590),U_1588),U_1589))
    | ~ hBOOL(hAPP(U_1590,bool,hAPP(U_1590,fun(U_1590,bool),ord_less_eq(U_1590),U_1587),U_1589))
    | U_1588 != U_1587
    | ~ ord(U_1590) ),
    inference(clausify,[status(thm)],[f_361_2]) ).

fof(f_362_1,plain,
    ! [X_a] :
      ( ! [Y_1,X_1] :
          ( ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
              | ti(X_a,X_1) != ti(X_a,Y_1) )
            & ( ti(X_a,X_1) = ti(X_a,Y_1)
              | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1)) ) )
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1)) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_214_order__antisym__conv]) ).

fof(f_362_2,plain,
    ! [U_1593] :
      ( ! [U_1592,U_1591] :
          ( ( ( hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1591),U_1592))
              | ti(U_1593,U_1591) != ti(U_1593,U_1592) )
            & ( ti(U_1593,U_1591) = ti(U_1593,U_1592)
              | ~ hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1591),U_1592)) ) )
          | ~ hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1592),U_1591)) )
      | ~ order(U_1593) ),
    inference(variable_rename,[status(thm)],[f_362_1]) ).

cnf(f_362_3,plain,
    ( ti(U_1593,U_1591) = ti(U_1593,U_1592)
    | ~ hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1591),U_1592))
    | ~ hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1592),U_1591))
    | ~ order(U_1593) ),
    inference(clausify,[status(thm)],[f_362_2]) ).

cnf(f_362_4,plain,
    ( hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1591),U_1592))
    | ti(U_1593,U_1591) != ti(U_1593,U_1592)
    | ~ hBOOL(hAPP(U_1593,bool,hAPP(U_1593,fun(U_1593,bool),ord_less_eq(U_1593),U_1592),U_1591))
    | ~ order(U_1593) ),
    inference(clausify,[status(thm)],[f_362_2]) ).

fof(f_363_1,plain,
    ! [X_a] :
      ( ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
          | X != Y )
      | ~ preorder(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_215_order__eq__refl]) ).

fof(f_363_2,plain,
    ! [U_1596] :
      ( ! [U_1595,U_1594] :
          ( hBOOL(hAPP(U_1596,bool,hAPP(U_1596,fun(U_1596,bool),ord_less_eq(U_1596),U_1595),U_1594))
          | U_1595 != U_1594 )
      | ~ preorder(U_1596) ),
    inference(variable_rename,[status(thm)],[f_363_1]) ).

cnf(f_363_3,plain,
    ( hBOOL(hAPP(U_1596,bool,hAPP(U_1596,fun(U_1596,bool),ord_less_eq(U_1596),U_1595),U_1594))
    | U_1595 != U_1594
    | ~ preorder(U_1596) ),
    inference(clausify,[status(thm)],[f_363_2]) ).

fof(f_364_1,plain,
    ! [X_a] :
      ( ! [X_1,Y_1] :
          ( ( ti(X_a,X_1) = ti(X_a,Y_1)
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1))
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1)) )
          & ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1))
              & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1)) )
            | ti(X_a,X_1) != ti(X_a,Y_1) ) )
      | ~ order(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_216_order__eq__iff]) ).

fof(f_364_2,plain,
    ! [U_1599] :
      ( ! [U_1598,U_1597] :
          ( ( ti(U_1599,U_1598) = ti(U_1599,U_1597)
            | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1597),U_1598))
            | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1598),U_1597)) )
          & ( ( hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1597),U_1598))
              & hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1598),U_1597)) )
            | ti(U_1599,U_1598) != ti(U_1599,U_1597) ) )
      | ~ order(U_1599) ),
    inference(variable_rename,[status(thm)],[f_364_1]) ).

fof(f_364_3,plain,
    ! [U_1599] :
      ( ( ! [U_1603,U_1601] :
            ( ti(U_1599,U_1603) = ti(U_1599,U_1601)
            | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1601),U_1603))
            | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1603),U_1601)) )
        & ! [U_1602,U_1600] :
            ( ( hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1600),U_1602))
              & hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1602),U_1600)) )
            | ti(U_1599,U_1602) != ti(U_1599,U_1600) ) )
      | ~ order(U_1599) ),
    inference(miniscope,[status(thm)],[f_364_2]) ).

cnf(f_364_4,plain,
    ( hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1602),U_1600))
    | ti(U_1599,U_1602) != ti(U_1599,U_1600)
    | ~ order(U_1599) ),
    inference(clausify,[status(thm)],[f_364_3]) ).

cnf(f_364_5,plain,
    ( hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1600),U_1602))
    | ti(U_1599,U_1602) != ti(U_1599,U_1600)
    | ~ order(U_1599) ),
    inference(clausify,[status(thm)],[f_364_3]) ).

cnf(f_364_6,plain,
    ( ti(U_1599,U_1603) = ti(U_1599,U_1601)
    | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1601),U_1603))
    | ~ hBOOL(hAPP(U_1599,bool,hAPP(U_1599,fun(U_1599,bool),ord_less_eq(U_1599),U_1603),U_1601))
    | ~ order(U_1599) ),
    inference(clausify,[status(thm)],[f_364_3]) ).

fof(f_365_1,plain,
    ! [X_a] :
      ( ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) )
      | ~ linorder(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_217_linorder__linear]) ).

fof(f_365_2,plain,
    ! [U_1606] :
      ( ! [U_1605,U_1604] :
          ( hBOOL(hAPP(U_1606,bool,hAPP(U_1606,fun(U_1606,bool),ord_less_eq(U_1606),U_1604),U_1605))
          | hBOOL(hAPP(U_1606,bool,hAPP(U_1606,fun(U_1606,bool),ord_less_eq(U_1606),U_1605),U_1604)) )
      | ~ linorder(U_1606) ),
    inference(variable_rename,[status(thm)],[f_365_1]) ).

cnf(f_365_3,plain,
    ( hBOOL(hAPP(U_1606,bool,hAPP(U_1606,fun(U_1606,bool),ord_less_eq(U_1606),U_1604),U_1605))
    | hBOOL(hAPP(U_1606,bool,hAPP(U_1606,fun(U_1606,bool),ord_less_eq(U_1606),U_1605),U_1604))
    | ~ linorder(U_1606) ),
    inference(clausify,[status(thm)],[f_365_2]) ).

fof(f_366_1,plain,
    ! [X_a,X_b] :
      ( ! [X_1,F,G] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1)))
          | ~ hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G)) )
      | ~ ord(X_b) ),
    inference(fof_nnf,[status(thm)],[fact_218_le__funE]) ).

fof(f_366_2,plain,
    ! [U_1611,U_1610] :
      ( ! [U_1609,U_1608,U_1607] :
          ( hBOOL(hAPP(U_1610,bool,hAPP(U_1610,fun(U_1610,bool),ord_less_eq(U_1610),hAPP(U_1611,U_1610,U_1608,U_1609)),hAPP(U_1611,U_1610,U_1607,U_1609)))
          | ~ hBOOL(hAPP(fun(U_1611,U_1610),bool,hAPP(fun(U_1611,U_1610),fun(fun(U_1611,U_1610),bool),ord_less_eq(fun(U_1611,U_1610)),U_1608),U_1607)) )
      | ~ ord(U_1610) ),
    inference(variable_rename,[status(thm)],[f_366_1]) ).

cnf(f_366_3,plain,
    ( hBOOL(hAPP(U_1610,bool,hAPP(U_1610,fun(U_1610,bool),ord_less_eq(U_1610),hAPP(U_1611,U_1610,U_1608,U_1609)),hAPP(U_1611,U_1610,U_1607,U_1609)))
    | ~ hBOOL(hAPP(fun(U_1611,U_1610),bool,hAPP(fun(U_1611,U_1610),fun(fun(U_1611,U_1610),bool),ord_less_eq(fun(U_1611,U_1610)),U_1608),U_1607))
    | ~ ord(U_1610) ),
    inference(clausify,[status(thm)],[f_366_2]) ).

fof(f_367_1,plain,
    ! [X_a,X_b] :
      ( ! [X_1,F,G] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1)))
          | ~ hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G)) )
      | ~ ord(X_b) ),
    inference(fof_nnf,[status(thm)],[fact_219_le__funD]) ).

fof(f_367_2,plain,
    ! [U_1616,U_1615] :
      ( ! [U_1614,U_1613,U_1612] :
          ( hBOOL(hAPP(U_1615,bool,hAPP(U_1615,fun(U_1615,bool),ord_less_eq(U_1615),hAPP(U_1616,U_1615,U_1613,U_1614)),hAPP(U_1616,U_1615,U_1612,U_1614)))
          | ~ hBOOL(hAPP(fun(U_1616,U_1615),bool,hAPP(fun(U_1616,U_1615),fun(fun(U_1616,U_1615),bool),ord_less_eq(fun(U_1616,U_1615)),U_1613),U_1612)) )
      | ~ ord(U_1615) ),
    inference(variable_rename,[status(thm)],[f_367_1]) ).

cnf(f_367_3,plain,
    ( hBOOL(hAPP(U_1615,bool,hAPP(U_1615,fun(U_1615,bool),ord_less_eq(U_1615),hAPP(U_1616,U_1615,U_1613,U_1614)),hAPP(U_1616,U_1615,U_1612,U_1614)))
    | ~ hBOOL(hAPP(fun(U_1616,U_1615),bool,hAPP(fun(U_1616,U_1615),fun(fun(U_1616,U_1615),bool),ord_less_eq(fun(U_1616,U_1615)),U_1613),U_1612))
    | ~ ord(U_1615) ),
    inference(clausify,[status(thm)],[f_367_2]) ).

fof(f_368_1,plain,
    ! [X_a,X_b] :
      ( ! [F,G] :
          ( ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
            | ? [X_2] : ~ hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2))) )
          & ( ! [X_2] : hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2)))
            | ~ hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G)) ) )
      | ~ ord(X_b) ),
    inference(fof_nnf,[status(thm)],[fact_220_le__fun__def]) ).

fof(f_368_2,plain,
    ! [U_1622,U_1621] :
      ( ! [U_1620,U_1619] :
          ( ( hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1620),U_1619))
            | ? [U_1618] : ~ hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1620,U_1618)),hAPP(U_1622,U_1621,U_1619,U_1618))) )
          & ( ! [U_1617] : hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1620,U_1617)),hAPP(U_1622,U_1621,U_1619,U_1617)))
            | ~ hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1620),U_1619)) ) )
      | ~ ord(U_1621) ),
    inference(variable_rename,[status(thm)],[f_368_1]) ).

fof(f_368_3,plain,
    ! [U_1622,U_1621] :
      ( ( ! [U_1626,U_1624] :
            ( hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1626),U_1624))
            | ? [U_1618] : ~ hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1626,U_1618)),hAPP(U_1622,U_1621,U_1624,U_1618))) )
        & ! [U_1625,U_1623] :
            ( ! [U_1617] : hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1625,U_1617)),hAPP(U_1622,U_1621,U_1623,U_1617)))
            | ~ hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1625),U_1623)) ) )
      | ~ ord(U_1621) ),
    inference(miniscope,[status(thm)],[f_368_2]) ).

fof(f_368_4,plain,
    ! [U_1622,U_1621] :
      ( ( ! [U_1626,U_1624] :
            ( hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1626),U_1624))
            | ~ hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1626,sK104(U_1622,U_1621,U_1626,U_1624))),hAPP(U_1622,U_1621,U_1624,sK104(U_1622,U_1621,U_1626,U_1624)))) )
        & ! [U_1625,U_1623] :
            ( ! [U_1617] : hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1625,U_1617)),hAPP(U_1622,U_1621,U_1623,U_1617)))
            | ~ hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1625),U_1623)) ) )
      | ~ ord(U_1621) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK104]),skolemize(U_1618,sK104(U_1622,U_1621,U_1626,U_1624))],[f_368_3]) ).

cnf(f_368_5,plain,
    ( hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1625,U_1617)),hAPP(U_1622,U_1621,U_1623,U_1617)))
    | ~ hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1625),U_1623))
    | ~ ord(U_1621) ),
    inference(clausify,[status(thm)],[f_368_4]) ).

cnf(f_368_6,plain,
    ( hBOOL(hAPP(fun(U_1622,U_1621),bool,hAPP(fun(U_1622,U_1621),fun(fun(U_1622,U_1621),bool),ord_less_eq(fun(U_1622,U_1621)),U_1626),U_1624))
    | ~ hBOOL(hAPP(U_1621,bool,hAPP(U_1621,fun(U_1621,bool),ord_less_eq(U_1621),hAPP(U_1622,U_1621,U_1626,sK104(U_1622,U_1621,U_1626,U_1624))),hAPP(U_1622,U_1621,U_1624,sK104(U_1622,U_1621,U_1626,U_1624))))
    | ~ ord(U_1621) ),
    inference(clausify,[status(thm)],[f_368_4]) ).

fof(f_369_1,plain,
    ! [Pa] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_221_wf__prog__wwf__prog]) ).

fof(f_369_2,plain,
    ! [U_1627] :
      ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1627))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_1627)) ),
    inference(variable_rename,[status(thm)],[f_369_1]) ).

cnf(f_369_3,plain,
    ( hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1627))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_1627)) ),
    inference(clausify,[status(thm)],[f_369_2]) ).

fof(f_370_1,plain,
    ! [P,C_4,Md] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wwf_J_mdecl,P),C_4),Md))
      | ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,P),C_4),Md)) ),
    inference(fof_nnf,[status(thm)],[fact_222_wf__mdecl__wwf__mdecl]) ).

fof(f_370_2,plain,
    ! [U_1630,U_1629,U_1628] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wwf_J_mdecl,U_1630),U_1629),U_1628))
      | ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,U_1630),U_1629),U_1628)) ),
    inference(variable_rename,[status(thm)],[f_370_1]) ).

cnf(f_370_3,plain,
    ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wwf_J_mdecl,U_1630),U_1629),U_1628))
    | ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,U_1630),U_1629),U_1628)) ),
    inference(clausify,[status(thm)],[f_370_2]) ).

fof(f_371_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_b)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_223_Red__fv]) ).

fof(f_371_2,plain,
    ! [U_1637,U_1636,U_1635,U_1634,U_1633,U_1632,U_1631] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1634)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1637)))
      | ~ 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)))),U_1637),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))),U_1636),U_1635))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1634),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))),U_1633),U_1632)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1631)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1631)) ),
    inference(variable_rename,[status(thm)],[f_371_1]) ).

cnf(f_371_3,plain,
    ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1634)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1637)))
    | ~ 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)))),U_1637),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))),U_1636),U_1635))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1634),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))),U_1633),U_1632)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1631)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1631)) ),
    inference(clausify,[status(thm)],[f_371_2]) ).

fof(f_372_1,plain,
    ! [X_a,A_1,B,R_2] :
      ( ? [Y_2] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),B)),R_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_1),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) )
      | ti(X_a,A_1) = 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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_224_rtranclE]) ).

fof(f_372_2,plain,
    ! [U_1642,U_1641,U_1640,U_1639] :
      ( ? [U_1638] :
          ( hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1638),U_1640)),U_1639))
          & hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),U_1638)),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) )
      | ti(U_1642,U_1641) = ti(U_1642,U_1640)
      | ~ hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),U_1640)),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) ),
    inference(variable_rename,[status(thm)],[f_372_1]) ).

fof(f_372_3,plain,
    ! [U_1642,U_1641,U_1640,U_1639] :
      ( ( hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),sK105(U_1642,U_1641,U_1640,U_1639)),U_1640)),U_1639))
        & hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),sK105(U_1642,U_1641,U_1640,U_1639))),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) )
      | ti(U_1642,U_1641) = ti(U_1642,U_1640)
      | ~ hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),U_1640)),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK105]),skolemize(U_1638,sK105(U_1642,U_1641,U_1640,U_1639))],[f_372_2]) ).

cnf(f_372_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),sK105(U_1642,U_1641,U_1640,U_1639))),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639)))
    | ti(U_1642,U_1641) = ti(U_1642,U_1640)
    | ~ hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),U_1640)),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) ),
    inference(clausify,[status(thm)],[f_372_3]) ).

cnf(f_372_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),sK105(U_1642,U_1641,U_1640,U_1639)),U_1640)),U_1639))
    | ti(U_1642,U_1641) = ti(U_1642,U_1640)
    | ~ hBOOL(hAPP(fun(product_prod(U_1642,U_1642),bool),bool,hAPP(product_prod(U_1642,U_1642),fun(fun(product_prod(U_1642,U_1642),bool),bool),member(product_prod(U_1642,U_1642)),hAPP(U_1642,product_prod(U_1642,U_1642),hAPP(U_1642,fun(U_1642,product_prod(U_1642,U_1642)),product_Pair(U_1642,U_1642),U_1641),U_1640)),hAPP(fun(product_prod(U_1642,U_1642),bool),fun(product_prod(U_1642,U_1642),bool),transitive_rtrancl(U_1642),U_1639))) ),
    inference(clausify,[status(thm)],[f_372_3]) ).

fof(f_373_1,plain,
    ! [X_a,X_1,Z_1,R_2] :
      ( ? [Y_2] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
          & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_2)),R_2)) )
      | 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),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_225_converse__rtranclE]) ).

fof(f_373_2,plain,
    ! [U_1647,U_1646,U_1645,U_1644] :
      ( ? [U_1643] :
          ( hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1643),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644)))
          & hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),U_1643)),U_1644)) )
      | ti(U_1647,U_1646) = ti(U_1647,U_1645)
      | ~ hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644))) ),
    inference(variable_rename,[status(thm)],[f_373_1]) ).

fof(f_373_3,plain,
    ! [U_1647,U_1646,U_1645,U_1644] :
      ( ( hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),sK106(U_1647,U_1646,U_1645,U_1644)),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644)))
        & hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),sK106(U_1647,U_1646,U_1645,U_1644))),U_1644)) )
      | ti(U_1647,U_1646) = ti(U_1647,U_1645)
      | ~ hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK106]),skolemize(U_1643,sK106(U_1647,U_1646,U_1645,U_1644))],[f_373_2]) ).

cnf(f_373_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),sK106(U_1647,U_1646,U_1645,U_1644))),U_1644))
    | ti(U_1647,U_1646) = ti(U_1647,U_1645)
    | ~ hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644))) ),
    inference(clausify,[status(thm)],[f_373_3]) ).

cnf(f_373_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),sK106(U_1647,U_1646,U_1645,U_1644)),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644)))
    | ti(U_1647,U_1646) = ti(U_1647,U_1645)
    | ~ hBOOL(hAPP(fun(product_prod(U_1647,U_1647),bool),bool,hAPP(product_prod(U_1647,U_1647),fun(fun(product_prod(U_1647,U_1647),bool),bool),member(product_prod(U_1647,U_1647)),hAPP(U_1647,product_prod(U_1647,U_1647),hAPP(U_1647,fun(U_1647,product_prod(U_1647,U_1647)),product_Pair(U_1647,U_1647),U_1646),U_1645)),hAPP(fun(product_prod(U_1647,U_1647),bool),fun(product_prod(U_1647,U_1647),bool),transitive_rtrancl(U_1647),U_1644))) ),
    inference(clausify,[status(thm)],[f_373_3]) ).

fof(f_374_1,plain,
    ! [X_a,Pa,A_1,B,R_2] :
      ( hBOOL(hAPP(X_a,bool,Pa,A_1))
      | ? [Y_2,Z] :
          ( ~ hBOOL(hAPP(X_a,bool,Pa,Y_2))
          & hBOOL(hAPP(X_a,bool,Pa,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),Z),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Y_2),Z)),R_2)) )
      | ~ 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),A_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_226_converse__rtrancl__induct]) ).

fof(f_374_2,plain,
    ! [U_1654,U_1653,U_1652,U_1651,U_1650] :
      ( hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
      | ? [U_1649,U_1648] :
          ( ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1649))
          & hBOOL(hAPP(U_1654,bool,U_1653,U_1648))
          & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1648),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650)))
          & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1649),U_1648)),U_1650)) )
      | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
      | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(variable_rename,[status(thm)],[f_374_1]) ).

fof(f_374_3,plain,
    ! [U_1654,U_1653,U_1652,U_1651,U_1650] :
      ( hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
      | ? [U_1648] :
          ( ~ hBOOL(hAPP(U_1654,bool,U_1653,sK107(U_1654,U_1653,U_1652,U_1651,U_1650)))
          & hBOOL(hAPP(U_1654,bool,U_1653,U_1648))
          & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1648),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650)))
          & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),sK107(U_1654,U_1653,U_1652,U_1651,U_1650)),U_1648)),U_1650)) )
      | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
      | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK107]),skolemize(U_1649,sK107(U_1654,U_1653,U_1652,U_1651,U_1650))],[f_374_2]) ).

fof(f_374_4,plain,
    ! [U_1654,U_1653,U_1652,U_1651,U_1650] :
      ( hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
      | ( ~ hBOOL(hAPP(U_1654,bool,U_1653,sK107(U_1654,U_1653,U_1652,U_1651,U_1650)))
        & hBOOL(hAPP(U_1654,bool,U_1653,sK108(U_1654,U_1653,U_1652,U_1651,U_1650)))
        & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),sK108(U_1654,U_1653,U_1652,U_1651,U_1650)),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650)))
        & hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),sK107(U_1654,U_1653,U_1652,U_1651,U_1650)),sK108(U_1654,U_1653,U_1652,U_1651,U_1650))),U_1650)) )
      | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
      | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK108]),skolemize(U_1648,sK108(U_1654,U_1653,U_1652,U_1651,U_1650))],[f_374_3]) ).

cnf(f_374_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),sK107(U_1654,U_1653,U_1652,U_1651,U_1650)),sK108(U_1654,U_1653,U_1652,U_1651,U_1650))),U_1650))
    | hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
    | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
    | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(clausify,[status(thm)],[f_374_4]) ).

cnf(f_374_6,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),sK108(U_1654,U_1653,U_1652,U_1651,U_1650)),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650)))
    | hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
    | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
    | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(clausify,[status(thm)],[f_374_4]) ).

cnf(f_374_7,plain,
    ( hBOOL(hAPP(U_1654,bool,U_1653,sK108(U_1654,U_1653,U_1652,U_1651,U_1650)))
    | hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
    | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
    | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(clausify,[status(thm)],[f_374_4]) ).

cnf(f_374_8,plain,
    ( ~ hBOOL(hAPP(U_1654,bool,U_1653,sK107(U_1654,U_1653,U_1652,U_1651,U_1650)))
    | hBOOL(hAPP(U_1654,bool,U_1653,U_1652))
    | ~ hBOOL(hAPP(U_1654,bool,U_1653,U_1651))
    | ~ hBOOL(hAPP(fun(product_prod(U_1654,U_1654),bool),bool,hAPP(product_prod(U_1654,U_1654),fun(fun(product_prod(U_1654,U_1654),bool),bool),member(product_prod(U_1654,U_1654)),hAPP(U_1654,product_prod(U_1654,U_1654),hAPP(U_1654,fun(U_1654,product_prod(U_1654,U_1654)),product_Pair(U_1654,U_1654),U_1652),U_1651)),hAPP(fun(product_prod(U_1654,U_1654),bool),fun(product_prod(U_1654,U_1654),bool),transitive_rtrancl(U_1654),U_1650))) ),
    inference(clausify,[status(thm)],[f_374_4]) ).

fof(f_375_1,plain,
    ! [X_a,X_b] :
      ( ! [F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
          | ? [X_2] : ~ hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2))) )
      | ~ ord(X_b) ),
    inference(fof_nnf,[status(thm)],[fact_227_le__funI]) ).

fof(f_375_2,plain,
    ! [U_1659,U_1658] :
      ( ! [U_1657,U_1656] :
          ( hBOOL(hAPP(fun(U_1659,U_1658),bool,hAPP(fun(U_1659,U_1658),fun(fun(U_1659,U_1658),bool),ord_less_eq(fun(U_1659,U_1658)),U_1657),U_1656))
          | ? [U_1655] : ~ hBOOL(hAPP(U_1658,bool,hAPP(U_1658,fun(U_1658,bool),ord_less_eq(U_1658),hAPP(U_1659,U_1658,U_1657,U_1655)),hAPP(U_1659,U_1658,U_1656,U_1655))) )
      | ~ ord(U_1658) ),
    inference(variable_rename,[status(thm)],[f_375_1]) ).

fof(f_375_3,plain,
    ! [U_1659,U_1658] :
      ( ! [U_1657,U_1656] :
          ( hBOOL(hAPP(fun(U_1659,U_1658),bool,hAPP(fun(U_1659,U_1658),fun(fun(U_1659,U_1658),bool),ord_less_eq(fun(U_1659,U_1658)),U_1657),U_1656))
          | ~ hBOOL(hAPP(U_1658,bool,hAPP(U_1658,fun(U_1658,bool),ord_less_eq(U_1658),hAPP(U_1659,U_1658,U_1657,sK109(U_1659,U_1658,U_1657,U_1656))),hAPP(U_1659,U_1658,U_1656,sK109(U_1659,U_1658,U_1657,U_1656)))) )
      | ~ ord(U_1658) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK109]),skolemize(U_1655,sK109(U_1659,U_1658,U_1657,U_1656))],[f_375_2]) ).

cnf(f_375_4,plain,
    ( hBOOL(hAPP(fun(U_1659,U_1658),bool,hAPP(fun(U_1659,U_1658),fun(fun(U_1659,U_1658),bool),ord_less_eq(fun(U_1659,U_1658)),U_1657),U_1656))
    | ~ hBOOL(hAPP(U_1658,bool,hAPP(U_1658,fun(U_1658,bool),ord_less_eq(U_1658),hAPP(U_1659,U_1658,U_1657,sK109(U_1659,U_1658,U_1657,U_1656))),hAPP(U_1659,U_1658,U_1656,sK109(U_1659,U_1658,U_1657,U_1656))))
    | ~ ord(U_1658) ),
    inference(clausify,[status(thm)],[f_375_3]) ).

fof(f_376_1,plain,
    ! [Eb,S,E_b,S_3,Pa] :
      ( ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
          | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
          | ~ 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) )
        & ( ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
            & 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) )
          | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_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),Eb),S),E_b),S_3)) ) )
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_228_big__iff__small]) ).

fof(f_376_2,plain,
    ! [U_1664,U_1663,U_1662,U_1661,U_1660] :
      ( ( ( 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,U_1660),U_1664),U_1663),U_1662),U_1661))
          | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1662))
          | ~ 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)))),U_1664),U_1663)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1662),U_1661))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1660)))) )
        & ( ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1662))
            & 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)))),U_1664),U_1663)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1662),U_1661))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1660)))) )
          | ~ 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,U_1660),U_1664),U_1663),U_1662),U_1661)) ) )
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1660)) ),
    inference(variable_rename,[status(thm)],[f_376_1]) ).

cnf(f_376_3,plain,
    ( 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)))),U_1664),U_1663)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1662),U_1661))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1660))))
    | ~ 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,U_1660),U_1664),U_1663),U_1662),U_1661))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1660)) ),
    inference(clausify,[status(thm)],[f_376_2]) ).

cnf(f_376_4,plain,
    ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1662))
    | ~ 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,U_1660),U_1664),U_1663),U_1662),U_1661))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1660)) ),
    inference(clausify,[status(thm)],[f_376_2]) ).

cnf(f_376_5,plain,
    ( 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,U_1660),U_1664),U_1663),U_1662),U_1661))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1662))
    | ~ 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)))),U_1664),U_1663)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1662),U_1661))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1660))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1660)) ),
    inference(clausify,[status(thm)],[f_376_2]) ).

fof(f_377_1,plain,
    ! [X_a,X_b,X_1,Y_1,Pa,Q_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
      | ~ hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1)) ),
    inference(fof_nnf,[status(thm)],[fact_229_predicate2D]) ).

fof(f_377_2,plain,
    ! [U_1670,U_1669,U_1668,U_1667,U_1666,U_1665] :
      ( hBOOL(hAPP(U_1669,bool,hAPP(U_1670,fun(U_1669,bool),U_1665,U_1668),U_1667))
      | ~ hBOOL(hAPP(U_1669,bool,hAPP(U_1670,fun(U_1669,bool),U_1666,U_1668),U_1667))
      | ~ hBOOL(hAPP(fun(U_1670,fun(U_1669,bool)),bool,hAPP(fun(U_1670,fun(U_1669,bool)),fun(fun(U_1670,fun(U_1669,bool)),bool),ord_less_eq(fun(U_1670,fun(U_1669,bool))),U_1666),U_1665)) ),
    inference(variable_rename,[status(thm)],[f_377_1]) ).

cnf(f_377_3,plain,
    ( hBOOL(hAPP(U_1669,bool,hAPP(U_1670,fun(U_1669,bool),U_1665,U_1668),U_1667))
    | ~ hBOOL(hAPP(U_1669,bool,hAPP(U_1670,fun(U_1669,bool),U_1666,U_1668),U_1667))
    | ~ hBOOL(hAPP(fun(U_1670,fun(U_1669,bool)),bool,hAPP(fun(U_1670,fun(U_1669,bool)),fun(fun(U_1670,fun(U_1669,bool)),bool),ord_less_eq(fun(U_1670,fun(U_1669,bool))),U_1666),U_1665)) ),
    inference(clausify,[status(thm)],[f_377_2]) ).

fof(f_378_1,plain,
    ! [X_b,X_a,Q_1,Pa,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1))
      | ~ hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_230_rev__predicate2D]) ).

fof(f_378_2,plain,
    ! [U_1676,U_1675,U_1674,U_1673,U_1672,U_1671] :
      ( hBOOL(hAPP(U_1676,bool,hAPP(U_1675,fun(U_1676,bool),U_1674,U_1672),U_1671))
      | ~ hBOOL(hAPP(fun(U_1675,fun(U_1676,bool)),bool,hAPP(fun(U_1675,fun(U_1676,bool)),fun(fun(U_1675,fun(U_1676,bool)),bool),ord_less_eq(fun(U_1675,fun(U_1676,bool))),U_1673),U_1674))
      | ~ hBOOL(hAPP(U_1676,bool,hAPP(U_1675,fun(U_1676,bool),U_1673,U_1672),U_1671)) ),
    inference(variable_rename,[status(thm)],[f_378_1]) ).

cnf(f_378_3,plain,
    ( hBOOL(hAPP(U_1676,bool,hAPP(U_1675,fun(U_1676,bool),U_1674,U_1672),U_1671))
    | ~ hBOOL(hAPP(fun(U_1675,fun(U_1676,bool)),bool,hAPP(fun(U_1675,fun(U_1676,bool)),fun(fun(U_1675,fun(U_1676,bool)),bool),ord_less_eq(fun(U_1675,fun(U_1676,bool))),U_1673),U_1674))
    | ~ hBOOL(hAPP(U_1676,bool,hAPP(U_1675,fun(U_1676,bool),U_1673,U_1672),U_1671)) ),
    inference(clausify,[status(thm)],[f_378_2]) ).

fof(f_379_1,plain,
    ! [Va_1,Pa,Eb,Hb,Lb,E_b,H_b,L_b] :
      ( hAPP(list(char),option(val),L_b,Va_1) = hAPP(list(char),option(val),Lb,Va_1)
      | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),Va_1),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)))
      | ~ 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),Eb),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))),Hb),Lb)),E_b),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_231_eval__notfree__unchanged]) ).

fof(f_379_2,plain,
    ! [U_1684,U_1683,U_1682,U_1681,U_1680,U_1679,U_1678,U_1677] :
      ( hAPP(list(char),option(val),U_1677,U_1684) = hAPP(list(char),option(val),U_1680,U_1684)
      | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_1684),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1682)))
      | ~ 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,U_1683),U_1682),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))),U_1681),U_1680)),U_1679),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))),U_1678),U_1677))) ),
    inference(variable_rename,[status(thm)],[f_379_1]) ).

cnf(f_379_3,plain,
    ( hAPP(list(char),option(val),U_1677,U_1684) = hAPP(list(char),option(val),U_1680,U_1684)
    | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_1684),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1682)))
    | ~ 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,U_1683),U_1682),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))),U_1681),U_1680)),U_1679),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))),U_1678),U_1677))) ),
    inference(clausify,[status(thm)],[f_379_2]) ).

fof(f_380_1,plain,
    ! [E_b,S_3,Eb,S,E_5,S_4,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_5),S_4),E_b),S_3))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_5),S_4))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_232_extend__1__eval]) ).

fof(f_380_2,plain,
    ! [U_1691,U_1690,U_1689,U_1688,U_1687,U_1686,U_1685] :
      ( 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,U_1685),U_1689),U_1688),U_1691),U_1690))
      | ~ 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,U_1685),U_1687),U_1686),U_1691),U_1690))
      | ~ 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)))),U_1689),U_1688)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1687),U_1686))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1685)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1685)) ),
    inference(variable_rename,[status(thm)],[f_380_1]) ).

cnf(f_380_3,plain,
    ( 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,U_1685),U_1689),U_1688),U_1691),U_1690))
    | ~ 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,U_1685),U_1687),U_1686),U_1691),U_1690))
    | ~ 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)))),U_1689),U_1688)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1687),U_1686))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1685)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1685)) ),
    inference(clausify,[status(thm)],[f_380_2]) ).

fof(f_381_1,plain,
    ! [Eb,S,E_b,S_3,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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_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),Eb),S),E_b),S_3))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_233_big__by__small]) ).

fof(f_381_2,plain,
    ! [U_1696,U_1695,U_1694,U_1693,U_1692] :
      ( 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)))),U_1696),U_1695)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1694),U_1693))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1692))))
      | ~ 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,U_1692),U_1696),U_1695),U_1694),U_1693))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1692)) ),
    inference(variable_rename,[status(thm)],[f_381_1]) ).

cnf(f_381_3,plain,
    ( 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)))),U_1696),U_1695)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1694),U_1693))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1692))))
    | ~ 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,U_1692),U_1696),U_1695),U_1694),U_1693))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1692)) ),
    inference(clausify,[status(thm)],[f_381_2]) ).

fof(f_382_1,plain,
    ! [E_b,S_3,Eb,S,E_5,S_4,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_5),S_4),E_b),S_3))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_5),S_4))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_234_extend__eval]) ).

fof(f_382_2,plain,
    ! [U_1703,U_1702,U_1701,U_1700,U_1699,U_1698,U_1697] :
      ( 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,U_1697),U_1701),U_1700),U_1703),U_1702))
      | ~ 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,U_1697),U_1699),U_1698),U_1703),U_1702))
      | ~ 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)))),U_1701),U_1700)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1699),U_1698))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1697))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1697)) ),
    inference(variable_rename,[status(thm)],[f_382_1]) ).

cnf(f_382_3,plain,
    ( 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,U_1697),U_1701),U_1700),U_1703),U_1702))
    | ~ 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,U_1697),U_1699),U_1698),U_1703),U_1702))
    | ~ 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)))),U_1701),U_1700)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1699),U_1698))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1697))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1697)) ),
    inference(clausify,[status(thm)],[f_382_2]) ).

fof(f_383_1,plain,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),E_b),S_3))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
      | ~ 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_235_small__by__big]) ).

fof(f_383_2,plain,
    ! [U_1708,U_1707,U_1706,U_1705,U_1704] :
      ( 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,U_1704),U_1708),U_1707),U_1706),U_1705))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1706))
      | ~ 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)))),U_1708),U_1707)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1706),U_1705))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1704))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1704)) ),
    inference(variable_rename,[status(thm)],[f_383_1]) ).

cnf(f_383_3,plain,
    ( 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,U_1704),U_1708),U_1707),U_1706),U_1705))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1706))
    | ~ 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)))),U_1708),U_1707)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1706),U_1705))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1704))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1704)) ),
    inference(clausify,[status(thm)],[f_383_2]) ).

fof(f_384_1,plain,
    ! [L_b,Va_1,Pa,Eb,S_0,Va,Hb,Lb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),L_b)))
      | L_b != hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),Lb),Va_1),hAPP(val,option(val),some(val),Va))
      | ~ 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),Hb),Lb))) ),
    inference(fof_nnf,[status(thm)],[fact_236_LAss]) ).

fof(f_384_2,plain,
    ! [U_1716,U_1715,U_1714,U_1713,U_1712,U_1711,U_1710,U_1709] :
      ( 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,U_1714),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1715),U_1713)),U_1712),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1710),U_1716)))
      | U_1716 != hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1709),U_1715),hAPP(val,option(val),some(val),U_1711))
      | ~ 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,U_1714),U_1713),U_1712),hAPP(val,exp(list(char)),val_1(list(char)),U_1711)),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))),U_1710),U_1709))) ),
    inference(variable_rename,[status(thm)],[f_384_1]) ).

cnf(f_384_3,plain,
    ( 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,U_1714),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_1715),U_1713)),U_1712),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_1710),U_1716)))
    | U_1716 != hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1709),U_1715),hAPP(val,option(val),some(val),U_1711))
    | ~ 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,U_1714),U_1713),U_1712),hAPP(val,exp(list(char)),val_1(list(char)),U_1711)),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))),U_1710),U_1709))) ),
    inference(clausify,[status(thm)],[f_384_2]) ).

fof(f_385_1,plain,
    ! [Ta,Pa,E_0,H_0,L_0,Va_1,E_1_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_0)),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_0),L_0)),E_1_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(list(char),option(val),L_0,Va_1)))))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_0),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_0),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0),Va_1),none(val)))),E_1_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ),
    inference(fof_nnf,[status(thm)],[fact_237_Block]) ).

fof(f_385_2,plain,
    ! [U_1725,U_1724,U_1723,U_1722,U_1721,U_1720,U_1719,U_1718,U_1717] :
      ( 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,U_1724),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1720),U_1725),U_1723)),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))),U_1722),U_1721)),U_1719),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))),U_1718),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1717),U_1720),hAPP(list(char),option(val),U_1721,U_1720)))))
      | ~ 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,U_1724),U_1723),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))),U_1722),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1721),U_1720),none(val)))),U_1719),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))),U_1718),U_1717))) ),
    inference(variable_rename,[status(thm)],[f_385_1]) ).

cnf(f_385_3,plain,
    ( 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,U_1724),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1720),U_1725),U_1723)),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))),U_1722),U_1721)),U_1719),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))),U_1718),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1717),U_1720),hAPP(list(char),option(val),U_1721,U_1720)))))
    | ~ 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,U_1724),U_1723),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))),U_1722),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1721),U_1720),none(val)))),U_1719),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))),U_1718),U_1717))) ),
    inference(clausify,[status(thm)],[f_385_2]) ).

fof(f_386_1,plain,
    ! [Pa,Eb,H_0,L_0,E_b,H_1,L_1_1] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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_0),L_0)),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ),
    inference(fof_nnf,[status(thm)],[fact_238_eval__lcl__incr]) ).

fof(f_386_2,plain,
    ! [U_1732,U_1731,U_1730,U_1729,U_1728,U_1727,U_1726] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1729)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1726)))
      | ~ 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,U_1732),U_1731),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))),U_1730),U_1729)),U_1728),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))),U_1727),U_1726))) ),
    inference(variable_rename,[status(thm)],[f_386_1]) ).

cnf(f_386_3,plain,
    ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1729)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1726)))
    | ~ 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,U_1732),U_1731),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))),U_1730),U_1729)),U_1728),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))),U_1727),U_1726))) ),
    inference(clausify,[status(thm)],[f_386_2]) ).

fof(f_387_1,plain,
    ! [X_b,X_a,Q_1,Pa] :
      ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
      | ? [X_2,Y_2] :
          ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_2),Y_2))
          & hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_2),Y_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_239_predicate2I]) ).

fof(f_387_2,plain,
    ! [U_1738,U_1737,U_1736,U_1735] :
      ( hBOOL(hAPP(fun(U_1737,fun(U_1738,bool)),bool,hAPP(fun(U_1737,fun(U_1738,bool)),fun(fun(U_1737,fun(U_1738,bool)),bool),ord_less_eq(fun(U_1737,fun(U_1738,bool))),U_1735),U_1736))
      | ? [U_1734,U_1733] :
          ( ~ hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1736,U_1734),U_1733))
          & hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1735,U_1734),U_1733)) ) ),
    inference(variable_rename,[status(thm)],[f_387_1]) ).

fof(f_387_3,plain,
    ! [U_1738,U_1737,U_1736,U_1735] :
      ( hBOOL(hAPP(fun(U_1737,fun(U_1738,bool)),bool,hAPP(fun(U_1737,fun(U_1738,bool)),fun(fun(U_1737,fun(U_1738,bool)),bool),ord_less_eq(fun(U_1737,fun(U_1738,bool))),U_1735),U_1736))
      | ? [U_1733] :
          ( ~ hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1736,sK110(U_1738,U_1737,U_1736,U_1735)),U_1733))
          & hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1735,sK110(U_1738,U_1737,U_1736,U_1735)),U_1733)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK110]),skolemize(U_1734,sK110(U_1738,U_1737,U_1736,U_1735))],[f_387_2]) ).

fof(f_387_4,plain,
    ! [U_1738,U_1737,U_1736,U_1735] :
      ( hBOOL(hAPP(fun(U_1737,fun(U_1738,bool)),bool,hAPP(fun(U_1737,fun(U_1738,bool)),fun(fun(U_1737,fun(U_1738,bool)),bool),ord_less_eq(fun(U_1737,fun(U_1738,bool))),U_1735),U_1736))
      | ( ~ hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1736,sK110(U_1738,U_1737,U_1736,U_1735)),sK111(U_1738,U_1737,U_1736,U_1735)))
        & hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1735,sK110(U_1738,U_1737,U_1736,U_1735)),sK111(U_1738,U_1737,U_1736,U_1735))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK111]),skolemize(U_1733,sK111(U_1738,U_1737,U_1736,U_1735))],[f_387_3]) ).

cnf(f_387_5,plain,
    ( hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1735,sK110(U_1738,U_1737,U_1736,U_1735)),sK111(U_1738,U_1737,U_1736,U_1735)))
    | hBOOL(hAPP(fun(U_1737,fun(U_1738,bool)),bool,hAPP(fun(U_1737,fun(U_1738,bool)),fun(fun(U_1737,fun(U_1738,bool)),bool),ord_less_eq(fun(U_1737,fun(U_1738,bool))),U_1735),U_1736)) ),
    inference(clausify,[status(thm)],[f_387_4]) ).

cnf(f_387_6,plain,
    ( ~ hBOOL(hAPP(U_1738,bool,hAPP(U_1737,fun(U_1738,bool),U_1736,sK110(U_1738,U_1737,U_1736,U_1735)),sK111(U_1738,U_1737,U_1736,U_1735)))
    | hBOOL(hAPP(fun(U_1737,fun(U_1738,bool)),bool,hAPP(fun(U_1737,fun(U_1738,bool)),fun(fun(U_1737,fun(U_1738,bool)),bool),ord_less_eq(fun(U_1737,fun(U_1738,bool))),U_1735),U_1736)) ),
    inference(clausify,[status(thm)],[f_387_4]) ).

fof(f_388_1,plain,
    ! [Pa,Eb,Hb,Lb,E_b,H_b,L_b] :
      ( 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,Hb),H_b))
      | ~ 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),Eb),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))),Hb),Lb)),E_b),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_240_eval__hext]) ).

fof(f_388_2,plain,
    ! [U_1745,U_1744,U_1743,U_1742,U_1741,U_1740,U_1739] :
      ( 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,U_1743),U_1740))
      | ~ 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,U_1745),U_1744),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))),U_1743),U_1742)),U_1741),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))),U_1740),U_1739))) ),
    inference(variable_rename,[status(thm)],[f_388_1]) ).

fof(f_388_3,plain,
    ! [U_1745,U_1744,U_1743,U_1742,U_1741,U_1740] :
      ( ! [U_1739] : ~ 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,U_1745),U_1744),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))),U_1743),U_1742)),U_1741),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))),U_1740),U_1739)))
      | 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,U_1743),U_1740)) ),
    inference(miniscope,[status(thm)],[f_388_2]) ).

cnf(f_388_4,plain,
    ( ~ 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,U_1745),U_1744),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))),U_1743),U_1742)),U_1741),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))),U_1740),U_1739)))
    | 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,U_1743),U_1740)) ),
    inference(clausify,[status(thm)],[f_388_3]) ).

fof(f_389_1,plain,
    ! [E_1_1,E_2,S_2_1,Pa,E_0,S_0,Va,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_0),E_1_1)),S_0),E_2),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_1),E_2),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_0),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_241_Seq]) ).

fof(f_389_2,plain,
    ! [U_1753,U_1752,U_1751,U_1750,U_1749,U_1748,U_1747,U_1746] :
      ( 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,U_1750),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1749),U_1753)),U_1748),U_1752),U_1751))
      | ~ 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,U_1750),U_1753),U_1746),U_1752),U_1751))
      | ~ 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,U_1750),U_1749),U_1748),hAPP(val,exp(list(char)),val_1(list(char)),U_1747)),U_1746)) ),
    inference(variable_rename,[status(thm)],[f_389_1]) ).

cnf(f_389_3,plain,
    ( 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,U_1750),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1749),U_1753)),U_1748),U_1752),U_1751))
    | ~ 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,U_1750),U_1753),U_1746),U_1752),U_1751))
    | ~ 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,U_1750),U_1749),U_1748),hAPP(val,exp(list(char)),val_1(list(char)),U_1747)),U_1746)) ),
    inference(clausify,[status(thm)],[f_389_2]) ).

fof(f_390_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb))))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_242_Reds__dom__lcl]) ).

fof(f_390_2,plain,
    ! [U_1760,U_1759,U_1758,U_1757,U_1756,U_1755,U_1754] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1755)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1758)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1760))))
      | ~ 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)))),U_1760),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))),U_1759),U_1758))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1757),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))),U_1756),U_1755)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1754))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1754)) ),
    inference(variable_rename,[status(thm)],[f_390_1]) ).

cnf(f_390_3,plain,
    ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1755)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1758)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1760))))
    | ~ 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)))),U_1760),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))),U_1759),U_1758))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1757),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))),U_1756),U_1755)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1754))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1754)) ),
    inference(clausify,[status(thm)],[f_390_2]) ).

fof(f_391_1,plain,
    ! [X_a,C,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ),
    inference(fof_nnf,[status(thm)],[fact_243_UnE]) ).

fof(f_391_2,plain,
    ! [U_1764,U_1763,U_1762,U_1761] :
      ( hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),U_1761))
      | hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),U_1762))
      | ~ hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),hAPP(fun(U_1764,bool),fun(U_1764,bool),hAPP(fun(U_1764,bool),fun(fun(U_1764,bool),fun(U_1764,bool)),semilattice_sup_sup(fun(U_1764,bool)),U_1762),U_1761))) ),
    inference(variable_rename,[status(thm)],[f_391_1]) ).

cnf(f_391_3,plain,
    ( hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),U_1761))
    | hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),U_1762))
    | ~ hBOOL(hAPP(fun(U_1764,bool),bool,hAPP(U_1764,fun(fun(U_1764,bool),bool),member(U_1764),U_1763),hAPP(fun(U_1764,bool),fun(U_1764,bool),hAPP(fun(U_1764,bool),fun(fun(U_1764,bool),fun(U_1764,bool)),semilattice_sup_sup(fun(U_1764,bool)),U_1762),U_1761))) ),
    inference(clausify,[status(thm)],[f_391_2]) ).

fof(f_392_1,plain,
    ! [X_a,A_2,C,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
      | ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
        & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_244_UnCI]) ).

fof(f_392_2,plain,
    ! [U_1768,U_1767,U_1766,U_1765] :
      ( hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),hAPP(fun(U_1768,bool),fun(U_1768,bool),hAPP(fun(U_1768,bool),fun(fun(U_1768,bool),fun(U_1768,bool)),semilattice_sup_sup(fun(U_1768,bool)),U_1767),U_1765)))
      | ( ~ hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),U_1767))
        & ~ hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),U_1765)) ) ),
    inference(variable_rename,[status(thm)],[f_392_1]) ).

cnf(f_392_3,plain,
    ( ~ hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),U_1765))
    | hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),hAPP(fun(U_1768,bool),fun(U_1768,bool),hAPP(fun(U_1768,bool),fun(fun(U_1768,bool),fun(U_1768,bool)),semilattice_sup_sup(fun(U_1768,bool)),U_1767),U_1765))) ),
    inference(clausify,[status(thm)],[f_392_2]) ).

cnf(f_392_4,plain,
    ( ~ hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),U_1767))
    | hBOOL(hAPP(fun(U_1768,bool),bool,hAPP(U_1768,fun(fun(U_1768,bool),bool),member(U_1768),U_1766),hAPP(fun(U_1768,bool),fun(U_1768,bool),hAPP(fun(U_1768,bool),fun(fun(U_1768,bool),fun(U_1768,bool)),semilattice_sup_sup(fun(U_1768,bool)),U_1767),U_1765))) ),
    inference(clausify,[status(thm)],[f_392_2]) ).

fof(f_393_1,plain,
    ! [X_a,A_2,B_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,B_1,X_1))
      | hBOOL(hAPP(X_a,bool,A_2,X_1))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1)) ),
    inference(fof_nnf,[status(thm)],[fact_245_sup1E]) ).

fof(f_393_2,plain,
    ! [U_1772,U_1771,U_1770,U_1769] :
      ( hBOOL(hAPP(U_1772,bool,U_1770,U_1769))
      | hBOOL(hAPP(U_1772,bool,U_1771,U_1769))
      | ~ hBOOL(hAPP(U_1772,bool,hAPP(fun(U_1772,bool),fun(U_1772,bool),hAPP(fun(U_1772,bool),fun(fun(U_1772,bool),fun(U_1772,bool)),semilattice_sup_sup(fun(U_1772,bool)),U_1771),U_1770),U_1769)) ),
    inference(variable_rename,[status(thm)],[f_393_1]) ).

cnf(f_393_3,plain,
    ( hBOOL(hAPP(U_1772,bool,U_1770,U_1769))
    | hBOOL(hAPP(U_1772,bool,U_1771,U_1769))
    | ~ hBOOL(hAPP(U_1772,bool,hAPP(fun(U_1772,bool),fun(U_1772,bool),hAPP(fun(U_1772,bool),fun(fun(U_1772,bool),fun(U_1772,bool)),semilattice_sup_sup(fun(U_1772,bool)),U_1771),U_1770),U_1769)) ),
    inference(clausify,[status(thm)],[f_393_2]) ).

fof(f_394_1,plain,
    ! [X_a,A_2,B_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1))
      | ( ~ hBOOL(hAPP(X_a,bool,A_2,X_1))
        & ~ hBOOL(hAPP(X_a,bool,B_1,X_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_246_sup1CI]) ).

fof(f_394_2,plain,
    ! [U_1776,U_1775,U_1774,U_1773] :
      ( hBOOL(hAPP(U_1776,bool,hAPP(fun(U_1776,bool),fun(U_1776,bool),hAPP(fun(U_1776,bool),fun(fun(U_1776,bool),fun(U_1776,bool)),semilattice_sup_sup(fun(U_1776,bool)),U_1775),U_1774),U_1773))
      | ( ~ hBOOL(hAPP(U_1776,bool,U_1775,U_1773))
        & ~ hBOOL(hAPP(U_1776,bool,U_1774,U_1773)) ) ),
    inference(variable_rename,[status(thm)],[f_394_1]) ).

cnf(f_394_3,plain,
    ( ~ hBOOL(hAPP(U_1776,bool,U_1774,U_1773))
    | hBOOL(hAPP(U_1776,bool,hAPP(fun(U_1776,bool),fun(U_1776,bool),hAPP(fun(U_1776,bool),fun(fun(U_1776,bool),fun(U_1776,bool)),semilattice_sup_sup(fun(U_1776,bool)),U_1775),U_1774),U_1773)) ),
    inference(clausify,[status(thm)],[f_394_2]) ).

cnf(f_394_4,plain,
    ( ~ hBOOL(hAPP(U_1776,bool,U_1775,U_1773))
    | hBOOL(hAPP(U_1776,bool,hAPP(fun(U_1776,bool),fun(U_1776,bool),hAPP(fun(U_1776,bool),fun(fun(U_1776,bool),fun(U_1776,bool)),semilattice_sup_sup(fun(U_1776,bool)),U_1775),U_1774),U_1773)) ),
    inference(clausify,[status(thm)],[f_394_2]) ).

fof(f_395_1,plain,
    ! [X_a,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),A_2) = ti(fun(X_a,bool),A_2),
    inference(fof_nnf,[status(thm)],[fact_247_Un__absorb]) ).

fof(f_395_2,plain,
    ! [U_1778,U_1777] : hAPP(fun(U_1778,bool),fun(U_1778,bool),hAPP(fun(U_1778,bool),fun(fun(U_1778,bool),fun(U_1778,bool)),semilattice_sup_sup(fun(U_1778,bool)),U_1777),U_1777) = ti(fun(U_1778,bool),U_1777),
    inference(variable_rename,[status(thm)],[f_395_1]) ).

cnf(f_395_3,plain,
    hAPP(fun(U_1778,bool),fun(U_1778,bool),hAPP(fun(U_1778,bool),fun(fun(U_1778,bool),fun(U_1778,bool)),semilattice_sup_sup(fun(U_1778,bool)),U_1777),U_1777) = ti(fun(U_1778,bool),U_1777),
    inference(clausify,[status(thm)],[f_395_2]) ).

fof(f_396_1,plain,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B_1))),
    inference(fof_nnf,[status(thm)],[fact_248_Un__def]) ).

fof(f_396_2,plain,
    ! [U_1781,U_1780,U_1779] : hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,bool),fun(fun(U_1781,bool),fun(U_1781,bool)),semilattice_sup_sup(fun(U_1781,bool)),U_1780),U_1779) = hAPP(fun(U_1781,bool),fun(U_1781,bool),collect(U_1781),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(bool,bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combs(U_1781,bool,bool),hAPP(fun(U_1781,bool),fun(U_1781,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_1781,bool),fun(U_1781,fun(bool,bool))),combb(bool,fun(bool,bool),U_1781),fdisj),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(fun(U_1781,bool),bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combc(U_1781,fun(U_1781,bool),bool),member(U_1781)),U_1780))),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(fun(U_1781,bool),bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combc(U_1781,fun(U_1781,bool),bool),member(U_1781)),U_1779))),
    inference(variable_rename,[status(thm)],[f_396_1]) ).

cnf(f_396_3,plain,
    hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,bool),fun(fun(U_1781,bool),fun(U_1781,bool)),semilattice_sup_sup(fun(U_1781,bool)),U_1780),U_1779) = hAPP(fun(U_1781,bool),fun(U_1781,bool),collect(U_1781),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(bool,bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combs(U_1781,bool,bool),hAPP(fun(U_1781,bool),fun(U_1781,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_1781,bool),fun(U_1781,fun(bool,bool))),combb(bool,fun(bool,bool),U_1781),fdisj),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(fun(U_1781,bool),bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combc(U_1781,fun(U_1781,bool),bool),member(U_1781)),U_1780))),hAPP(fun(U_1781,bool),fun(U_1781,bool),hAPP(fun(U_1781,fun(fun(U_1781,bool),bool)),fun(fun(U_1781,bool),fun(U_1781,bool)),combc(U_1781,fun(U_1781,bool),bool),member(U_1781)),U_1779))),
    inference(clausify,[status(thm)],[f_396_2]) ).

fof(f_397_1,plain,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),A_2),
    inference(fof_nnf,[status(thm)],[fact_249_Un__commute]) ).

fof(f_397_2,plain,
    ! [U_1784,U_1783,U_1782] : hAPP(fun(U_1784,bool),fun(U_1784,bool),hAPP(fun(U_1784,bool),fun(fun(U_1784,bool),fun(U_1784,bool)),semilattice_sup_sup(fun(U_1784,bool)),U_1783),U_1782) = hAPP(fun(U_1784,bool),fun(U_1784,bool),hAPP(fun(U_1784,bool),fun(fun(U_1784,bool),fun(U_1784,bool)),semilattice_sup_sup(fun(U_1784,bool)),U_1782),U_1783),
    inference(variable_rename,[status(thm)],[f_397_1]) ).

cnf(f_397_3,plain,
    hAPP(fun(U_1784,bool),fun(U_1784,bool),hAPP(fun(U_1784,bool),fun(fun(U_1784,bool),fun(U_1784,bool)),semilattice_sup_sup(fun(U_1784,bool)),U_1783),U_1782) = hAPP(fun(U_1784,bool),fun(U_1784,bool),hAPP(fun(U_1784,bool),fun(fun(U_1784,bool),fun(U_1784,bool)),semilattice_sup_sup(fun(U_1784,bool)),U_1782),U_1783),
    inference(clausify,[status(thm)],[f_397_2]) ).

fof(f_398_1,plain,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),
    inference(fof_nnf,[status(thm)],[fact_250_Un__left__absorb]) ).

fof(f_398_2,plain,
    ! [U_1787,U_1786,U_1785] : hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),U_1785)) = hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),U_1785),
    inference(variable_rename,[status(thm)],[f_398_1]) ).

cnf(f_398_3,plain,
    hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),U_1785)) = hAPP(fun(U_1787,bool),fun(U_1787,bool),hAPP(fun(U_1787,bool),fun(fun(U_1787,bool),fun(U_1787,bool)),semilattice_sup_sup(fun(U_1787,bool)),U_1786),U_1785),
    inference(clausify,[status(thm)],[f_398_2]) ).

fof(f_399_1,plain,
    ! [X_a,A_2,B_1,C_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),C_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),C_1)),
    inference(fof_nnf,[status(thm)],[fact_251_Un__left__commute]) ).

fof(f_399_2,plain,
    ! [U_1791,U_1790,U_1789,U_1788] : hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1790),hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1789),U_1788)) = hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1789),hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1790),U_1788)),
    inference(variable_rename,[status(thm)],[f_399_1]) ).

cnf(f_399_3,plain,
    hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1790),hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1789),U_1788)) = hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1789),hAPP(fun(U_1791,bool),fun(U_1791,bool),hAPP(fun(U_1791,bool),fun(fun(U_1791,bool),fun(U_1791,bool)),semilattice_sup_sup(fun(U_1791,bool)),U_1790),U_1788)),
    inference(clausify,[status(thm)],[f_399_2]) ).

fof(f_400_1,plain,
    ! [X_a,C,A_2,B_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
        | ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2)) ) )
      & ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1))
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ) ),
    inference(fof_nnf,[status(thm)],[fact_252_Un__iff]) ).

fof(f_400_2,plain,
    ! [U_1795,U_1794,U_1793,U_1792] :
      ( ( hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),hAPP(fun(U_1795,bool),fun(U_1795,bool),hAPP(fun(U_1795,bool),fun(fun(U_1795,bool),fun(U_1795,bool)),semilattice_sup_sup(fun(U_1795,bool)),U_1793),U_1792)))
        | ( ~ hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),U_1792))
          & ~ hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),U_1793)) ) )
      & ( hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),U_1792))
        | hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),U_1793))
        | ~ hBOOL(hAPP(fun(U_1795,bool),bool,hAPP(U_1795,fun(fun(U_1795,bool),bool),member(U_1795),U_1794),hAPP(fun(U_1795,bool),fun(U_1795,bool),hAPP(fun(U_1795,bool),fun(fun(U_1795,bool),fun(U_1795,bool)),semilattice_sup_sup(fun(U_1795,bool)),U_1793),U_1792))) ) ),
    inference(variable_rename,[status(thm)],[f_400_1]) ).

fof(f_400_3,plain,
    ( ! [U_1803,U_1801,U_1799,U_1797] :
        ( hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),hAPP(fun(U_1803,bool),fun(U_1803,bool),hAPP(fun(U_1803,bool),fun(fun(U_1803,bool),fun(U_1803,bool)),semilattice_sup_sup(fun(U_1803,bool)),U_1799),U_1797)))
        | ( ~ hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),U_1797))
          & ~ hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),U_1799)) ) )
    & ! [U_1802,U_1800,U_1798,U_1796] :
        ( hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),U_1796))
        | hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),U_1798))
        | ~ hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),hAPP(fun(U_1802,bool),fun(U_1802,bool),hAPP(fun(U_1802,bool),fun(fun(U_1802,bool),fun(U_1802,bool)),semilattice_sup_sup(fun(U_1802,bool)),U_1798),U_1796))) ) ),
    inference(miniscope,[status(thm)],[f_400_2]) ).

cnf(f_400_4,plain,
    ( hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),U_1796))
    | hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),U_1798))
    | ~ hBOOL(hAPP(fun(U_1802,bool),bool,hAPP(U_1802,fun(fun(U_1802,bool),bool),member(U_1802),U_1800),hAPP(fun(U_1802,bool),fun(U_1802,bool),hAPP(fun(U_1802,bool),fun(fun(U_1802,bool),fun(U_1802,bool)),semilattice_sup_sup(fun(U_1802,bool)),U_1798),U_1796))) ),
    inference(clausify,[status(thm)],[f_400_3]) ).

cnf(f_400_5,plain,
    ( ~ hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),U_1799))
    | hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),hAPP(fun(U_1803,bool),fun(U_1803,bool),hAPP(fun(U_1803,bool),fun(fun(U_1803,bool),fun(U_1803,bool)),semilattice_sup_sup(fun(U_1803,bool)),U_1799),U_1797))) ),
    inference(clausify,[status(thm)],[f_400_3]) ).

cnf(f_400_6,plain,
    ( ~ hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),U_1797))
    | hBOOL(hAPP(fun(U_1803,bool),bool,hAPP(U_1803,fun(fun(U_1803,bool),bool),member(U_1803),U_1801),hAPP(fun(U_1803,bool),fun(U_1803,bool),hAPP(fun(U_1803,bool),fun(fun(U_1803,bool),fun(U_1803,bool)),semilattice_sup_sup(fun(U_1803,bool)),U_1799),U_1797))) ),
    inference(clausify,[status(thm)],[f_400_3]) ).

fof(f_401_1,plain,
    ! [X_a,A_2,B_1,C_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),C_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),B_1),C_1)),
    inference(fof_nnf,[status(thm)],[fact_253_Un__assoc]) ).

fof(f_401_2,plain,
    ! [U_1807,U_1806,U_1805,U_1804] : hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1806),U_1805)),U_1804) = hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1806),hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1805),U_1804)),
    inference(variable_rename,[status(thm)],[f_401_1]) ).

cnf(f_401_3,plain,
    hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1806),U_1805)),U_1804) = hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1806),hAPP(fun(U_1807,bool),fun(U_1807,bool),hAPP(fun(U_1807,bool),fun(fun(U_1807,bool),fun(U_1807,bool)),semilattice_sup_sup(fun(U_1807,bool)),U_1805),U_1804)),
    inference(clausify,[status(thm)],[f_401_2]) ).

fof(f_402_1,plain,
    ! [X_a,Pa,A_2,B_1] :
      ( ( ? [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) )
        | ( ! [X_2] :
              ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
              | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
          & ! [X_2] :
              ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
              | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) ) )
      & ( ? [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
        | ? [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) )
        | ! [X_2] :
            ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
            | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ) ) ),
    inference(fof_nnf,[status(thm)],[fact_254_bex__Un]) ).

fof(f_402_2,plain,
    ! [U_1817,U_1816,U_1815,U_1814] :
      ( ( ? [U_1813] :
            ( hBOOL(hAPP(U_1817,bool,U_1816,U_1813))
            & hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1813),hAPP(fun(U_1817,bool),fun(U_1817,bool),hAPP(fun(U_1817,bool),fun(fun(U_1817,bool),fun(U_1817,bool)),semilattice_sup_sup(fun(U_1817,bool)),U_1815),U_1814))) )
        | ( ! [U_1812] :
              ( ~ hBOOL(hAPP(U_1817,bool,U_1816,U_1812))
              | ~ hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1812),U_1814)) )
          & ! [U_1811] :
              ( ~ hBOOL(hAPP(U_1817,bool,U_1816,U_1811))
              | ~ hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1811),U_1815)) ) ) )
      & ( ? [U_1810] :
            ( hBOOL(hAPP(U_1817,bool,U_1816,U_1810))
            & hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1810),U_1814)) )
        | ? [U_1809] :
            ( hBOOL(hAPP(U_1817,bool,U_1816,U_1809))
            & hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1809),U_1815)) )
        | ! [U_1808] :
            ( ~ hBOOL(hAPP(U_1817,bool,U_1816,U_1808))
            | ~ hBOOL(hAPP(fun(U_1817,bool),bool,hAPP(U_1817,fun(fun(U_1817,bool),bool),member(U_1817),U_1808),hAPP(fun(U_1817,bool),fun(U_1817,bool),hAPP(fun(U_1817,bool),fun(fun(U_1817,bool),fun(U_1817,bool)),semilattice_sup_sup(fun(U_1817,bool)),U_1815),U_1814))) ) ) ),
    inference(variable_rename,[status(thm)],[f_402_1]) ).

fof(f_402_3,plain,
    ( ! [U_1825,U_1823,U_1821,U_1819] :
        ( ? [U_1813] :
            ( hBOOL(hAPP(U_1825,bool,U_1823,U_1813))
            & hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1813),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819))) )
        | ( ! [U_1812] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) )
          & ! [U_1811] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ) ) )
    & ! [U_1824,U_1822,U_1820,U_1818] :
        ( ? [U_1810] :
            ( hBOOL(hAPP(U_1824,bool,U_1822,U_1810))
            & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1810),U_1818)) )
        | ? [U_1809] :
            ( hBOOL(hAPP(U_1824,bool,U_1822,U_1809))
            & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1809),U_1820)) )
        | ! [U_1808] :
            ( ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
            | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ) ) ),
    inference(miniscope,[status(thm)],[f_402_2]) ).

fof(f_402_4,plain,
    ( ! [U_1825,U_1823,U_1821,U_1819] :
        ( ? [U_1813] :
            ( hBOOL(hAPP(U_1825,bool,U_1823,U_1813))
            & hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1813),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819))) )
        | ( ! [U_1812] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) )
          & ! [U_1811] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ) ) )
    & ! [U_1824,U_1822,U_1820,U_1818] :
        ( ? [U_1810] :
            ( hBOOL(hAPP(U_1824,bool,U_1822,U_1810))
            & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1810),U_1818)) )
        | ( hBOOL(hAPP(U_1824,bool,U_1822,sK112(U_1824,U_1822,U_1820,U_1818)))
          & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK112(U_1824,U_1822,U_1820,U_1818)),U_1820)) )
        | ! [U_1808] :
            ( ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
            | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK112]),skolemize(U_1809,sK112(U_1824,U_1822,U_1820,U_1818))],[f_402_3]) ).

fof(f_402_5,plain,
    ( ! [U_1825,U_1823,U_1821,U_1819] :
        ( ? [U_1813] :
            ( hBOOL(hAPP(U_1825,bool,U_1823,U_1813))
            & hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1813),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819))) )
        | ( ! [U_1812] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) )
          & ! [U_1811] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ) ) )
    & ! [U_1824,U_1822,U_1820,U_1818] :
        ( ( hBOOL(hAPP(U_1824,bool,U_1822,sK113(U_1824,U_1822,U_1820,U_1818)))
          & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK113(U_1824,U_1822,U_1820,U_1818)),U_1818)) )
        | ( hBOOL(hAPP(U_1824,bool,U_1822,sK112(U_1824,U_1822,U_1820,U_1818)))
          & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK112(U_1824,U_1822,U_1820,U_1818)),U_1820)) )
        | ! [U_1808] :
            ( ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
            | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK113]),skolemize(U_1810,sK113(U_1824,U_1822,U_1820,U_1818))],[f_402_4]) ).

fof(f_402_6,plain,
    ( ! [U_1825,U_1823,U_1821,U_1819] :
        ( ( hBOOL(hAPP(U_1825,bool,U_1823,sK114(U_1825,U_1823,U_1821,U_1819)))
          & hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),sK114(U_1825,U_1823,U_1821,U_1819)),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819))) )
        | ( ! [U_1812] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) )
          & ! [U_1811] :
              ( ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
              | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ) ) )
    & ! [U_1824,U_1822,U_1820,U_1818] :
        ( ( hBOOL(hAPP(U_1824,bool,U_1822,sK113(U_1824,U_1822,U_1820,U_1818)))
          & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK113(U_1824,U_1822,U_1820,U_1818)),U_1818)) )
        | ( hBOOL(hAPP(U_1824,bool,U_1822,sK112(U_1824,U_1822,U_1820,U_1818)))
          & hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK112(U_1824,U_1822,U_1820,U_1818)),U_1820)) )
        | ! [U_1808] :
            ( ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
            | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK114]),skolemize(U_1813,sK114(U_1825,U_1823,U_1821,U_1819))],[f_402_5]) ).

cnf(f_402_7,plain,
    ( hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK113(U_1824,U_1822,U_1820,U_1818)),U_1818))
    | hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK112(U_1824,U_1822,U_1820,U_1818)),U_1820))
    | ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
    | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_8,plain,
    ( hBOOL(hAPP(U_1824,bool,U_1822,sK113(U_1824,U_1822,U_1820,U_1818)))
    | hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK112(U_1824,U_1822,U_1820,U_1818)),U_1820))
    | ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
    | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_9,plain,
    ( hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),sK113(U_1824,U_1822,U_1820,U_1818)),U_1818))
    | hBOOL(hAPP(U_1824,bool,U_1822,sK112(U_1824,U_1822,U_1820,U_1818)))
    | ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
    | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_10,plain,
    ( hBOOL(hAPP(U_1824,bool,U_1822,sK113(U_1824,U_1822,U_1820,U_1818)))
    | hBOOL(hAPP(U_1824,bool,U_1822,sK112(U_1824,U_1822,U_1820,U_1818)))
    | ~ hBOOL(hAPP(U_1824,bool,U_1822,U_1808))
    | ~ hBOOL(hAPP(fun(U_1824,bool),bool,hAPP(U_1824,fun(fun(U_1824,bool),bool),member(U_1824),U_1808),hAPP(fun(U_1824,bool),fun(U_1824,bool),hAPP(fun(U_1824,bool),fun(fun(U_1824,bool),fun(U_1824,bool)),semilattice_sup_sup(fun(U_1824,bool)),U_1820),U_1818))) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_11,plain,
    ( hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),sK114(U_1825,U_1823,U_1821,U_1819)),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819)))
    | ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
    | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_12,plain,
    ( hBOOL(hAPP(U_1825,bool,U_1823,sK114(U_1825,U_1823,U_1821,U_1819)))
    | ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1811))
    | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1811),U_1821)) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_13,plain,
    ( hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),sK114(U_1825,U_1823,U_1821,U_1819)),hAPP(fun(U_1825,bool),fun(U_1825,bool),hAPP(fun(U_1825,bool),fun(fun(U_1825,bool),fun(U_1825,bool)),semilattice_sup_sup(fun(U_1825,bool)),U_1821),U_1819)))
    | ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
    | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

cnf(f_402_14,plain,
    ( hBOOL(hAPP(U_1825,bool,U_1823,sK114(U_1825,U_1823,U_1821,U_1819)))
    | ~ hBOOL(hAPP(U_1825,bool,U_1823,U_1812))
    | ~ hBOOL(hAPP(fun(U_1825,bool),bool,hAPP(U_1825,fun(fun(U_1825,bool),bool),member(U_1825),U_1812),U_1819)) ),
    inference(clausify,[status(thm)],[f_402_6]) ).

fof(f_403_1,plain,
    ! [X_a,Pa,A_2,B_1] :
      ( ( ! [X_2] :
            ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) )
        | ? [X_2] :
            ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
        | ? [X_2] :
            ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) )
      & ( ( ! [X_2] :
              ( hBOOL(hAPP(X_a,bool,Pa,X_2))
              | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
          & ! [X_2] :
              ( hBOOL(hAPP(X_a,bool,Pa,X_2))
              | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) )
        | ? [X_2] :
            ( ~ hBOOL(hAPP(X_a,bool,Pa,X_2))
            & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))) ) ) ),
    inference(fof_nnf,[status(thm)],[fact_255_ball__Un]) ).

fof(f_403_2,plain,
    ! [U_1835,U_1834,U_1833,U_1832] :
      ( ( ! [U_1831] :
            ( hBOOL(hAPP(U_1835,bool,U_1834,U_1831))
            | ~ hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1831),hAPP(fun(U_1835,bool),fun(U_1835,bool),hAPP(fun(U_1835,bool),fun(fun(U_1835,bool),fun(U_1835,bool)),semilattice_sup_sup(fun(U_1835,bool)),U_1833),U_1832))) )
        | ? [U_1830] :
            ( ~ hBOOL(hAPP(U_1835,bool,U_1834,U_1830))
            & hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1830),U_1832)) )
        | ? [U_1829] :
            ( ~ hBOOL(hAPP(U_1835,bool,U_1834,U_1829))
            & hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1829),U_1833)) ) )
      & ( ( ! [U_1828] :
              ( hBOOL(hAPP(U_1835,bool,U_1834,U_1828))
              | ~ hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1828),U_1832)) )
          & ! [U_1827] :
              ( hBOOL(hAPP(U_1835,bool,U_1834,U_1827))
              | ~ hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1827),U_1833)) ) )
        | ? [U_1826] :
            ( ~ hBOOL(hAPP(U_1835,bool,U_1834,U_1826))
            & hBOOL(hAPP(fun(U_1835,bool),bool,hAPP(U_1835,fun(fun(U_1835,bool),bool),member(U_1835),U_1826),hAPP(fun(U_1835,bool),fun(U_1835,bool),hAPP(fun(U_1835,bool),fun(fun(U_1835,bool),fun(U_1835,bool)),semilattice_sup_sup(fun(U_1835,bool)),U_1833),U_1832))) ) ) ),
    inference(variable_rename,[status(thm)],[f_403_1]) ).

fof(f_403_3,plain,
    ( ! [U_1843,U_1841,U_1839,U_1837] :
        ( ! [U_1831] :
            ( hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
            | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) )
        | ? [U_1830] :
            ( ~ hBOOL(hAPP(U_1843,bool,U_1841,U_1830))
            & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1830),U_1837)) )
        | ? [U_1829] :
            ( ~ hBOOL(hAPP(U_1843,bool,U_1841,U_1829))
            & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1829),U_1839)) ) )
    & ! [U_1842,U_1840,U_1838,U_1836] :
        ( ( ! [U_1828] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836)) )
          & ! [U_1827] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838)) ) )
        | ? [U_1826] :
            ( ~ hBOOL(hAPP(U_1842,bool,U_1840,U_1826))
            & hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1826),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ) ) ),
    inference(miniscope,[status(thm)],[f_403_2]) ).

fof(f_403_4,plain,
    ( ! [U_1843,U_1841,U_1839,U_1837] :
        ( ! [U_1831] :
            ( hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
            | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) )
        | ? [U_1830] :
            ( ~ hBOOL(hAPP(U_1843,bool,U_1841,U_1830))
            & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1830),U_1837)) )
        | ? [U_1829] :
            ( ~ hBOOL(hAPP(U_1843,bool,U_1841,U_1829))
            & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1829),U_1839)) ) )
    & ! [U_1842,U_1840,U_1838,U_1836] :
        ( ( ! [U_1828] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836)) )
          & ! [U_1827] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838)) ) )
        | ( ~ hBOOL(hAPP(U_1842,bool,U_1840,sK115(U_1842,U_1840,U_1838,U_1836)))
          & hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),sK115(U_1842,U_1840,U_1838,U_1836)),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK115]),skolemize(U_1826,sK115(U_1842,U_1840,U_1838,U_1836))],[f_403_3]) ).

fof(f_403_5,plain,
    ( ! [U_1843,U_1841,U_1839,U_1837] :
        ( ! [U_1831] :
            ( hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
            | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) )
        | ? [U_1830] :
            ( ~ hBOOL(hAPP(U_1843,bool,U_1841,U_1830))
            & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1830),U_1837)) )
        | ( ~ hBOOL(hAPP(U_1843,bool,U_1841,sK116(U_1843,U_1841,U_1839,U_1837)))
          & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK116(U_1843,U_1841,U_1839,U_1837)),U_1839)) ) )
    & ! [U_1842,U_1840,U_1838,U_1836] :
        ( ( ! [U_1828] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836)) )
          & ! [U_1827] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838)) ) )
        | ( ~ hBOOL(hAPP(U_1842,bool,U_1840,sK115(U_1842,U_1840,U_1838,U_1836)))
          & hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),sK115(U_1842,U_1840,U_1838,U_1836)),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK116]),skolemize(U_1829,sK116(U_1843,U_1841,U_1839,U_1837))],[f_403_4]) ).

fof(f_403_6,plain,
    ( ! [U_1843,U_1841,U_1839,U_1837] :
        ( ! [U_1831] :
            ( hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
            | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) )
        | ( ~ hBOOL(hAPP(U_1843,bool,U_1841,sK117(U_1843,U_1841,U_1839,U_1837)))
          & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK117(U_1843,U_1841,U_1839,U_1837)),U_1837)) )
        | ( ~ hBOOL(hAPP(U_1843,bool,U_1841,sK116(U_1843,U_1841,U_1839,U_1837)))
          & hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK116(U_1843,U_1841,U_1839,U_1837)),U_1839)) ) )
    & ! [U_1842,U_1840,U_1838,U_1836] :
        ( ( ! [U_1828] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836)) )
          & ! [U_1827] :
              ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
              | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838)) ) )
        | ( ~ hBOOL(hAPP(U_1842,bool,U_1840,sK115(U_1842,U_1840,U_1838,U_1836)))
          & hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),sK115(U_1842,U_1840,U_1838,U_1836)),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK117]),skolemize(U_1830,sK117(U_1843,U_1841,U_1839,U_1837))],[f_403_5]) ).

cnf(f_403_7,plain,
    ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
    | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838))
    | hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),sK115(U_1842,U_1840,U_1838,U_1836)),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_8,plain,
    ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
    | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836))
    | hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),sK115(U_1842,U_1840,U_1838,U_1836)),hAPP(fun(U_1842,bool),fun(U_1842,bool),hAPP(fun(U_1842,bool),fun(fun(U_1842,bool),fun(U_1842,bool)),semilattice_sup_sup(fun(U_1842,bool)),U_1838),U_1836))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_9,plain,
    ( hBOOL(hAPP(U_1842,bool,U_1840,U_1827))
    | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1827),U_1838))
    | ~ hBOOL(hAPP(U_1842,bool,U_1840,sK115(U_1842,U_1840,U_1838,U_1836))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_10,plain,
    ( hBOOL(hAPP(U_1842,bool,U_1840,U_1828))
    | ~ hBOOL(hAPP(fun(U_1842,bool),bool,hAPP(U_1842,fun(fun(U_1842,bool),bool),member(U_1842),U_1828),U_1836))
    | ~ hBOOL(hAPP(U_1842,bool,U_1840,sK115(U_1842,U_1840,U_1838,U_1836))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_11,plain,
    ( hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK117(U_1843,U_1841,U_1839,U_1837)),U_1837))
    | hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK116(U_1843,U_1841,U_1839,U_1837)),U_1839))
    | hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
    | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_12,plain,
    ( ~ hBOOL(hAPP(U_1843,bool,U_1841,sK117(U_1843,U_1841,U_1839,U_1837)))
    | hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK116(U_1843,U_1841,U_1839,U_1837)),U_1839))
    | hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
    | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_13,plain,
    ( hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),sK117(U_1843,U_1841,U_1839,U_1837)),U_1837))
    | ~ hBOOL(hAPP(U_1843,bool,U_1841,sK116(U_1843,U_1841,U_1839,U_1837)))
    | hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
    | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

cnf(f_403_14,plain,
    ( ~ hBOOL(hAPP(U_1843,bool,U_1841,sK117(U_1843,U_1841,U_1839,U_1837)))
    | ~ hBOOL(hAPP(U_1843,bool,U_1841,sK116(U_1843,U_1841,U_1839,U_1837)))
    | hBOOL(hAPP(U_1843,bool,U_1841,U_1831))
    | ~ hBOOL(hAPP(fun(U_1843,bool),bool,hAPP(U_1843,fun(fun(U_1843,bool),bool),member(U_1843),U_1831),hAPP(fun(U_1843,bool),fun(U_1843,bool),hAPP(fun(U_1843,bool),fun(fun(U_1843,bool),fun(U_1843,bool)),semilattice_sup_sup(fun(U_1843,bool)),U_1839),U_1837))) ),
    inference(clausify,[status(thm)],[f_403_6]) ).

fof(f_404_1,plain,
    ! [X_a,B_1,C,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_256_UnI1]) ).

fof(f_404_2,plain,
    ! [U_1847,U_1846,U_1845,U_1844] :
      ( hBOOL(hAPP(fun(U_1847,bool),bool,hAPP(U_1847,fun(fun(U_1847,bool),bool),member(U_1847),U_1845),hAPP(fun(U_1847,bool),fun(U_1847,bool),hAPP(fun(U_1847,bool),fun(fun(U_1847,bool),fun(U_1847,bool)),semilattice_sup_sup(fun(U_1847,bool)),U_1844),U_1846)))
      | ~ hBOOL(hAPP(fun(U_1847,bool),bool,hAPP(U_1847,fun(fun(U_1847,bool),bool),member(U_1847),U_1845),U_1844)) ),
    inference(variable_rename,[status(thm)],[f_404_1]) ).

cnf(f_404_3,plain,
    ( hBOOL(hAPP(fun(U_1847,bool),bool,hAPP(U_1847,fun(fun(U_1847,bool),bool),member(U_1847),U_1845),hAPP(fun(U_1847,bool),fun(U_1847,bool),hAPP(fun(U_1847,bool),fun(fun(U_1847,bool),fun(U_1847,bool)),semilattice_sup_sup(fun(U_1847,bool)),U_1844),U_1846)))
    | ~ hBOOL(hAPP(fun(U_1847,bool),bool,hAPP(U_1847,fun(fun(U_1847,bool),bool),member(U_1847),U_1845),U_1844)) ),
    inference(clausify,[status(thm)],[f_404_2]) ).

fof(f_405_1,plain,
    ! [X_a,A_2,C,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_257_UnI2]) ).

fof(f_405_2,plain,
    ! [U_1851,U_1850,U_1849,U_1848] :
      ( hBOOL(hAPP(fun(U_1851,bool),bool,hAPP(U_1851,fun(fun(U_1851,bool),bool),member(U_1851),U_1849),hAPP(fun(U_1851,bool),fun(U_1851,bool),hAPP(fun(U_1851,bool),fun(fun(U_1851,bool),fun(U_1851,bool)),semilattice_sup_sup(fun(U_1851,bool)),U_1850),U_1848)))
      | ~ hBOOL(hAPP(fun(U_1851,bool),bool,hAPP(U_1851,fun(fun(U_1851,bool),bool),member(U_1851),U_1849),U_1848)) ),
    inference(variable_rename,[status(thm)],[f_405_1]) ).

cnf(f_405_3,plain,
    ( hBOOL(hAPP(fun(U_1851,bool),bool,hAPP(U_1851,fun(fun(U_1851,bool),bool),member(U_1851),U_1849),hAPP(fun(U_1851,bool),fun(U_1851,bool),hAPP(fun(U_1851,bool),fun(fun(U_1851,bool),fun(U_1851,bool)),semilattice_sup_sup(fun(U_1851,bool)),U_1850),U_1848)))
    | ~ hBOOL(hAPP(fun(U_1851,bool),bool,hAPP(U_1851,fun(fun(U_1851,bool),bool),member(U_1851),U_1849),U_1848)) ),
    inference(clausify,[status(thm)],[f_405_2]) ).

fof(f_406_1,plain,
    ! [X_a,Pa,Q_1] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),Pa)),Q_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Q_1)),
    inference(fof_nnf,[status(thm)],[fact_258_Collect__disj__eq]) ).

fof(f_406_2,plain,
    ! [U_1854,U_1853,U_1852] : hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),hAPP(fun(U_1854,bool),fun(U_1854,bool),hAPP(fun(U_1854,fun(bool,bool)),fun(fun(U_1854,bool),fun(U_1854,bool)),combs(U_1854,bool,bool),hAPP(fun(U_1854,bool),fun(U_1854,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_1854,bool),fun(U_1854,fun(bool,bool))),combb(bool,fun(bool,bool),U_1854),fdisj),U_1853)),U_1852)) = hAPP(fun(U_1854,bool),fun(U_1854,bool),hAPP(fun(U_1854,bool),fun(fun(U_1854,bool),fun(U_1854,bool)),semilattice_sup_sup(fun(U_1854,bool)),hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),U_1853)),hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),U_1852)),
    inference(variable_rename,[status(thm)],[f_406_1]) ).

cnf(f_406_3,plain,
    hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),hAPP(fun(U_1854,bool),fun(U_1854,bool),hAPP(fun(U_1854,fun(bool,bool)),fun(fun(U_1854,bool),fun(U_1854,bool)),combs(U_1854,bool,bool),hAPP(fun(U_1854,bool),fun(U_1854,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_1854,bool),fun(U_1854,fun(bool,bool))),combb(bool,fun(bool,bool),U_1854),fdisj),U_1853)),U_1852)) = hAPP(fun(U_1854,bool),fun(U_1854,bool),hAPP(fun(U_1854,bool),fun(fun(U_1854,bool),fun(U_1854,bool)),semilattice_sup_sup(fun(U_1854,bool)),hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),U_1853)),hAPP(fun(U_1854,bool),fun(U_1854,bool),collect(U_1854),U_1852)),
    inference(clausify,[status(thm)],[f_406_2]) ).

fof(f_407_1,plain,
    ! [X_a,R_1,S_2,X_2] :
      ( ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)),X_2))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),R_1),S_2))) )
      & ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),R_1),S_2)))
        | ~ hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)),X_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_259_sup__Un__eq]) ).

fof(f_407_2,plain,
    ! [U_1858,U_1857,U_1856,U_1855] :
      ( ( hBOOL(hAPP(U_1858,bool,hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,bool),fun(fun(U_1858,bool),fun(U_1858,bool)),semilattice_sup_sup(fun(U_1858,bool)),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,fun(fun(U_1858,bool),bool)),fun(fun(U_1858,bool),fun(U_1858,bool)),combc(U_1858,fun(U_1858,bool),bool),member(U_1858)),U_1857)),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,fun(fun(U_1858,bool),bool)),fun(fun(U_1858,bool),fun(U_1858,bool)),combc(U_1858,fun(U_1858,bool),bool),member(U_1858)),U_1856)),U_1855))
        | ~ hBOOL(hAPP(fun(U_1858,bool),bool,hAPP(U_1858,fun(fun(U_1858,bool),bool),member(U_1858),U_1855),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,bool),fun(fun(U_1858,bool),fun(U_1858,bool)),semilattice_sup_sup(fun(U_1858,bool)),U_1857),U_1856))) )
      & ( hBOOL(hAPP(fun(U_1858,bool),bool,hAPP(U_1858,fun(fun(U_1858,bool),bool),member(U_1858),U_1855),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,bool),fun(fun(U_1858,bool),fun(U_1858,bool)),semilattice_sup_sup(fun(U_1858,bool)),U_1857),U_1856)))
        | ~ hBOOL(hAPP(U_1858,bool,hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,bool),fun(fun(U_1858,bool),fun(U_1858,bool)),semilattice_sup_sup(fun(U_1858,bool)),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,fun(fun(U_1858,bool),bool)),fun(fun(U_1858,bool),fun(U_1858,bool)),combc(U_1858,fun(U_1858,bool),bool),member(U_1858)),U_1857)),hAPP(fun(U_1858,bool),fun(U_1858,bool),hAPP(fun(U_1858,fun(fun(U_1858,bool),bool)),fun(fun(U_1858,bool),fun(U_1858,bool)),combc(U_1858,fun(U_1858,bool),bool),member(U_1858)),U_1856)),U_1855)) ) ),
    inference(variable_rename,[status(thm)],[f_407_1]) ).

fof(f_407_3,plain,
    ( ! [U_1866,U_1864,U_1862,U_1860] :
        ( hBOOL(hAPP(U_1866,bool,hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,bool),fun(fun(U_1866,bool),fun(U_1866,bool)),semilattice_sup_sup(fun(U_1866,bool)),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,fun(fun(U_1866,bool),bool)),fun(fun(U_1866,bool),fun(U_1866,bool)),combc(U_1866,fun(U_1866,bool),bool),member(U_1866)),U_1864)),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,fun(fun(U_1866,bool),bool)),fun(fun(U_1866,bool),fun(U_1866,bool)),combc(U_1866,fun(U_1866,bool),bool),member(U_1866)),U_1862)),U_1860))
        | ~ hBOOL(hAPP(fun(U_1866,bool),bool,hAPP(U_1866,fun(fun(U_1866,bool),bool),member(U_1866),U_1860),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,bool),fun(fun(U_1866,bool),fun(U_1866,bool)),semilattice_sup_sup(fun(U_1866,bool)),U_1864),U_1862))) )
    & ! [U_1865,U_1863,U_1861,U_1859] :
        ( hBOOL(hAPP(fun(U_1865,bool),bool,hAPP(U_1865,fun(fun(U_1865,bool),bool),member(U_1865),U_1859),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,bool),fun(fun(U_1865,bool),fun(U_1865,bool)),semilattice_sup_sup(fun(U_1865,bool)),U_1863),U_1861)))
        | ~ hBOOL(hAPP(U_1865,bool,hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,bool),fun(fun(U_1865,bool),fun(U_1865,bool)),semilattice_sup_sup(fun(U_1865,bool)),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,fun(fun(U_1865,bool),bool)),fun(fun(U_1865,bool),fun(U_1865,bool)),combc(U_1865,fun(U_1865,bool),bool),member(U_1865)),U_1863)),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,fun(fun(U_1865,bool),bool)),fun(fun(U_1865,bool),fun(U_1865,bool)),combc(U_1865,fun(U_1865,bool),bool),member(U_1865)),U_1861)),U_1859)) ) ),
    inference(miniscope,[status(thm)],[f_407_2]) ).

cnf(f_407_4,plain,
    ( hBOOL(hAPP(fun(U_1865,bool),bool,hAPP(U_1865,fun(fun(U_1865,bool),bool),member(U_1865),U_1859),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,bool),fun(fun(U_1865,bool),fun(U_1865,bool)),semilattice_sup_sup(fun(U_1865,bool)),U_1863),U_1861)))
    | ~ hBOOL(hAPP(U_1865,bool,hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,bool),fun(fun(U_1865,bool),fun(U_1865,bool)),semilattice_sup_sup(fun(U_1865,bool)),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,fun(fun(U_1865,bool),bool)),fun(fun(U_1865,bool),fun(U_1865,bool)),combc(U_1865,fun(U_1865,bool),bool),member(U_1865)),U_1863)),hAPP(fun(U_1865,bool),fun(U_1865,bool),hAPP(fun(U_1865,fun(fun(U_1865,bool),bool)),fun(fun(U_1865,bool),fun(U_1865,bool)),combc(U_1865,fun(U_1865,bool),bool),member(U_1865)),U_1861)),U_1859)) ),
    inference(clausify,[status(thm)],[f_407_3]) ).

cnf(f_407_5,plain,
    ( hBOOL(hAPP(U_1866,bool,hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,bool),fun(fun(U_1866,bool),fun(U_1866,bool)),semilattice_sup_sup(fun(U_1866,bool)),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,fun(fun(U_1866,bool),bool)),fun(fun(U_1866,bool),fun(U_1866,bool)),combc(U_1866,fun(U_1866,bool),bool),member(U_1866)),U_1864)),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,fun(fun(U_1866,bool),bool)),fun(fun(U_1866,bool),fun(U_1866,bool)),combc(U_1866,fun(U_1866,bool),bool),member(U_1866)),U_1862)),U_1860))
    | ~ hBOOL(hAPP(fun(U_1866,bool),bool,hAPP(U_1866,fun(fun(U_1866,bool),bool),member(U_1866),U_1860),hAPP(fun(U_1866,bool),fun(U_1866,bool),hAPP(fun(U_1866,bool),fun(fun(U_1866,bool),fun(U_1866,bool)),semilattice_sup_sup(fun(U_1866,bool)),U_1864),U_1862))) ),
    inference(clausify,[status(thm)],[f_407_3]) ).

fof(f_408_1,plain,
    ! [X_a,B_1,A_2,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1))
      | ~ hBOOL(hAPP(X_a,bool,A_2,X_1)) ),
    inference(fof_nnf,[status(thm)],[fact_260_sup1I1]) ).

fof(f_408_2,plain,
    ! [U_1870,U_1869,U_1868,U_1867] :
      ( hBOOL(hAPP(U_1870,bool,hAPP(fun(U_1870,bool),fun(U_1870,bool),hAPP(fun(U_1870,bool),fun(fun(U_1870,bool),fun(U_1870,bool)),semilattice_sup_sup(fun(U_1870,bool)),U_1868),U_1869),U_1867))
      | ~ hBOOL(hAPP(U_1870,bool,U_1868,U_1867)) ),
    inference(variable_rename,[status(thm)],[f_408_1]) ).

cnf(f_408_3,plain,
    ( hBOOL(hAPP(U_1870,bool,hAPP(fun(U_1870,bool),fun(U_1870,bool),hAPP(fun(U_1870,bool),fun(fun(U_1870,bool),fun(U_1870,bool)),semilattice_sup_sup(fun(U_1870,bool)),U_1868),U_1869),U_1867))
    | ~ hBOOL(hAPP(U_1870,bool,U_1868,U_1867)) ),
    inference(clausify,[status(thm)],[f_408_2]) ).

fof(f_409_1,plain,
    ! [X_a,A_2,B_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1),X_1))
      | ~ hBOOL(hAPP(X_a,bool,B_1,X_1)) ),
    inference(fof_nnf,[status(thm)],[fact_261_sup1I2]) ).

fof(f_409_2,plain,
    ! [U_1874,U_1873,U_1872,U_1871] :
      ( hBOOL(hAPP(U_1874,bool,hAPP(fun(U_1874,bool),fun(U_1874,bool),hAPP(fun(U_1874,bool),fun(fun(U_1874,bool),fun(U_1874,bool)),semilattice_sup_sup(fun(U_1874,bool)),U_1873),U_1872),U_1871))
      | ~ hBOOL(hAPP(U_1874,bool,U_1872,U_1871)) ),
    inference(variable_rename,[status(thm)],[f_409_1]) ).

cnf(f_409_3,plain,
    ( hBOOL(hAPP(U_1874,bool,hAPP(fun(U_1874,bool),fun(U_1874,bool),hAPP(fun(U_1874,bool),fun(fun(U_1874,bool),fun(U_1874,bool)),semilattice_sup_sup(fun(U_1874,bool)),U_1873),U_1872),U_1871))
    | ~ hBOOL(hAPP(U_1874,bool,U_1872,U_1871)) ),
    inference(clausify,[status(thm)],[f_409_2]) ).

fof(f_410_1,plain,
    ! [X_a,A_2,B_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))),
    inference(fof_nnf,[status(thm)],[fact_262_Un__upper1]) ).

fof(f_410_2,plain,
    ! [U_1877,U_1876,U_1875] : hBOOL(hAPP(fun(U_1877,bool),bool,hAPP(fun(U_1877,bool),fun(fun(U_1877,bool),bool),ord_less_eq(fun(U_1877,bool)),U_1876),hAPP(fun(U_1877,bool),fun(U_1877,bool),hAPP(fun(U_1877,bool),fun(fun(U_1877,bool),fun(U_1877,bool)),semilattice_sup_sup(fun(U_1877,bool)),U_1876),U_1875))),
    inference(variable_rename,[status(thm)],[f_410_1]) ).

cnf(f_410_3,plain,
    hBOOL(hAPP(fun(U_1877,bool),bool,hAPP(fun(U_1877,bool),fun(fun(U_1877,bool),bool),ord_less_eq(fun(U_1877,bool)),U_1876),hAPP(fun(U_1877,bool),fun(U_1877,bool),hAPP(fun(U_1877,bool),fun(fun(U_1877,bool),fun(U_1877,bool)),semilattice_sup_sup(fun(U_1877,bool)),U_1876),U_1875))),
    inference(clausify,[status(thm)],[f_410_2]) ).

fof(f_411_1,plain,
    ! [X_a,B_1,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1))),
    inference(fof_nnf,[status(thm)],[fact_263_Un__upper2]) ).

fof(f_411_2,plain,
    ! [U_1880,U_1879,U_1878] : hBOOL(hAPP(fun(U_1880,bool),bool,hAPP(fun(U_1880,bool),fun(fun(U_1880,bool),bool),ord_less_eq(fun(U_1880,bool)),U_1879),hAPP(fun(U_1880,bool),fun(U_1880,bool),hAPP(fun(U_1880,bool),fun(fun(U_1880,bool),fun(U_1880,bool)),semilattice_sup_sup(fun(U_1880,bool)),U_1878),U_1879))),
    inference(variable_rename,[status(thm)],[f_411_1]) ).

cnf(f_411_3,plain,
    hBOOL(hAPP(fun(U_1880,bool),bool,hAPP(fun(U_1880,bool),fun(fun(U_1880,bool),bool),ord_less_eq(fun(U_1880,bool)),U_1879),hAPP(fun(U_1880,bool),fun(U_1880,bool),hAPP(fun(U_1880,bool),fun(fun(U_1880,bool),fun(U_1880,bool)),semilattice_sup_sup(fun(U_1880,bool)),U_1878),U_1879))),
    inference(clausify,[status(thm)],[f_411_2]) ).

fof(f_412_1,plain,
    ! [X_a,A_2,B_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
        | hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) != ti(fun(X_a,bool),B_1) )
      & ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),B_1)
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_264_subset__Un__eq]) ).

fof(f_412_2,plain,
    ! [U_1883,U_1882,U_1881] :
      ( ( hBOOL(hAPP(fun(U_1883,bool),bool,hAPP(fun(U_1883,bool),fun(fun(U_1883,bool),bool),ord_less_eq(fun(U_1883,bool)),U_1882),U_1881))
        | hAPP(fun(U_1883,bool),fun(U_1883,bool),hAPP(fun(U_1883,bool),fun(fun(U_1883,bool),fun(U_1883,bool)),semilattice_sup_sup(fun(U_1883,bool)),U_1882),U_1881) != ti(fun(U_1883,bool),U_1881) )
      & ( hAPP(fun(U_1883,bool),fun(U_1883,bool),hAPP(fun(U_1883,bool),fun(fun(U_1883,bool),fun(U_1883,bool)),semilattice_sup_sup(fun(U_1883,bool)),U_1882),U_1881) = ti(fun(U_1883,bool),U_1881)
        | ~ hBOOL(hAPP(fun(U_1883,bool),bool,hAPP(fun(U_1883,bool),fun(fun(U_1883,bool),bool),ord_less_eq(fun(U_1883,bool)),U_1882),U_1881)) ) ),
    inference(variable_rename,[status(thm)],[f_412_1]) ).

fof(f_412_3,plain,
    ( ! [U_1889,U_1887,U_1885] :
        ( hBOOL(hAPP(fun(U_1889,bool),bool,hAPP(fun(U_1889,bool),fun(fun(U_1889,bool),bool),ord_less_eq(fun(U_1889,bool)),U_1887),U_1885))
        | hAPP(fun(U_1889,bool),fun(U_1889,bool),hAPP(fun(U_1889,bool),fun(fun(U_1889,bool),fun(U_1889,bool)),semilattice_sup_sup(fun(U_1889,bool)),U_1887),U_1885) != ti(fun(U_1889,bool),U_1885) )
    & ! [U_1888,U_1886,U_1884] :
        ( hAPP(fun(U_1888,bool),fun(U_1888,bool),hAPP(fun(U_1888,bool),fun(fun(U_1888,bool),fun(U_1888,bool)),semilattice_sup_sup(fun(U_1888,bool)),U_1886),U_1884) = ti(fun(U_1888,bool),U_1884)
        | ~ hBOOL(hAPP(fun(U_1888,bool),bool,hAPP(fun(U_1888,bool),fun(fun(U_1888,bool),bool),ord_less_eq(fun(U_1888,bool)),U_1886),U_1884)) ) ),
    inference(miniscope,[status(thm)],[f_412_2]) ).

cnf(f_412_4,plain,
    ( hAPP(fun(U_1888,bool),fun(U_1888,bool),hAPP(fun(U_1888,bool),fun(fun(U_1888,bool),fun(U_1888,bool)),semilattice_sup_sup(fun(U_1888,bool)),U_1886),U_1884) = ti(fun(U_1888,bool),U_1884)
    | ~ hBOOL(hAPP(fun(U_1888,bool),bool,hAPP(fun(U_1888,bool),fun(fun(U_1888,bool),bool),ord_less_eq(fun(U_1888,bool)),U_1886),U_1884)) ),
    inference(clausify,[status(thm)],[f_412_3]) ).

cnf(f_412_5,plain,
    ( hBOOL(hAPP(fun(U_1889,bool),bool,hAPP(fun(U_1889,bool),fun(fun(U_1889,bool),bool),ord_less_eq(fun(U_1889,bool)),U_1887),U_1885))
    | hAPP(fun(U_1889,bool),fun(U_1889,bool),hAPP(fun(U_1889,bool),fun(fun(U_1889,bool),fun(U_1889,bool)),semilattice_sup_sup(fun(U_1889,bool)),U_1887),U_1885) != ti(fun(U_1889,bool),U_1885) ),
    inference(clausify,[status(thm)],[f_412_3]) ).

fof(f_413_1,plain,
    ! [X_a,A_2,B_1] :
      ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),B_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ),
    inference(fof_nnf,[status(thm)],[fact_265_Un__absorb1]) ).

fof(f_413_2,plain,
    ! [U_1892,U_1891,U_1890] :
      ( hAPP(fun(U_1892,bool),fun(U_1892,bool),hAPP(fun(U_1892,bool),fun(fun(U_1892,bool),fun(U_1892,bool)),semilattice_sup_sup(fun(U_1892,bool)),U_1891),U_1890) = ti(fun(U_1892,bool),U_1890)
      | ~ hBOOL(hAPP(fun(U_1892,bool),bool,hAPP(fun(U_1892,bool),fun(fun(U_1892,bool),bool),ord_less_eq(fun(U_1892,bool)),U_1891),U_1890)) ),
    inference(variable_rename,[status(thm)],[f_413_1]) ).

cnf(f_413_3,plain,
    ( hAPP(fun(U_1892,bool),fun(U_1892,bool),hAPP(fun(U_1892,bool),fun(fun(U_1892,bool),fun(U_1892,bool)),semilattice_sup_sup(fun(U_1892,bool)),U_1891),U_1890) = ti(fun(U_1892,bool),U_1890)
    | ~ hBOOL(hAPP(fun(U_1892,bool),bool,hAPP(fun(U_1892,bool),fun(fun(U_1892,bool),bool),ord_less_eq(fun(U_1892,bool)),U_1891),U_1890)) ),
    inference(clausify,[status(thm)],[f_413_2]) ).

fof(f_414_1,plain,
    ! [X_a,B_1,A_2] :
      ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1) = ti(fun(X_a,bool),A_2)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_266_Un__absorb2]) ).

fof(f_414_2,plain,
    ! [U_1895,U_1894,U_1893] :
      ( hAPP(fun(U_1895,bool),fun(U_1895,bool),hAPP(fun(U_1895,bool),fun(fun(U_1895,bool),fun(U_1895,bool)),semilattice_sup_sup(fun(U_1895,bool)),U_1893),U_1894) = ti(fun(U_1895,bool),U_1893)
      | ~ hBOOL(hAPP(fun(U_1895,bool),bool,hAPP(fun(U_1895,bool),fun(fun(U_1895,bool),bool),ord_less_eq(fun(U_1895,bool)),U_1894),U_1893)) ),
    inference(variable_rename,[status(thm)],[f_414_1]) ).

cnf(f_414_3,plain,
    ( hAPP(fun(U_1895,bool),fun(U_1895,bool),hAPP(fun(U_1895,bool),fun(fun(U_1895,bool),fun(U_1895,bool)),semilattice_sup_sup(fun(U_1895,bool)),U_1893),U_1894) = ti(fun(U_1895,bool),U_1893)
    | ~ hBOOL(hAPP(fun(U_1895,bool),bool,hAPP(fun(U_1895,bool),fun(fun(U_1895,bool),bool),ord_less_eq(fun(U_1895,bool)),U_1894),U_1893)) ),
    inference(clausify,[status(thm)],[f_414_2]) ).

fof(f_415_1,plain,
    ! [X_a,B_1,A_2,C_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),C_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1)) ),
    inference(fof_nnf,[status(thm)],[fact_267_Un__least]) ).

fof(f_415_2,plain,
    ! [U_1899,U_1898,U_1897,U_1896] :
      ( hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),hAPP(fun(U_1899,bool),fun(U_1899,bool),hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),fun(U_1899,bool)),semilattice_sup_sup(fun(U_1899,bool)),U_1897),U_1898)),U_1896))
      | ~ hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),U_1898),U_1896))
      | ~ hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),U_1897),U_1896)) ),
    inference(variable_rename,[status(thm)],[f_415_1]) ).

cnf(f_415_3,plain,
    ( hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),hAPP(fun(U_1899,bool),fun(U_1899,bool),hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),fun(U_1899,bool)),semilattice_sup_sup(fun(U_1899,bool)),U_1897),U_1898)),U_1896))
    | ~ hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),U_1898),U_1896))
    | ~ hBOOL(hAPP(fun(U_1899,bool),bool,hAPP(fun(U_1899,bool),fun(fun(U_1899,bool),bool),ord_less_eq(fun(U_1899,bool)),U_1897),U_1896)) ),
    inference(clausify,[status(thm)],[f_415_2]) ).

fof(f_416_1,plain,
    ! [X_a,B_1,D_2,A_2,C_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),A_2),B_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),C_1),D_2)))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),D_2))
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1)) ),
    inference(fof_nnf,[status(thm)],[fact_268_Un__mono]) ).

fof(f_416_2,plain,
    ! [U_1904,U_1903,U_1902,U_1901,U_1900] :
      ( hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),hAPP(fun(U_1904,bool),fun(U_1904,bool),hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),fun(U_1904,bool)),semilattice_sup_sup(fun(U_1904,bool)),U_1901),U_1903)),hAPP(fun(U_1904,bool),fun(U_1904,bool),hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),fun(U_1904,bool)),semilattice_sup_sup(fun(U_1904,bool)),U_1900),U_1902)))
      | ~ hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),U_1903),U_1902))
      | ~ hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),U_1901),U_1900)) ),
    inference(variable_rename,[status(thm)],[f_416_1]) ).

cnf(f_416_3,plain,
    ( hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),hAPP(fun(U_1904,bool),fun(U_1904,bool),hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),fun(U_1904,bool)),semilattice_sup_sup(fun(U_1904,bool)),U_1901),U_1903)),hAPP(fun(U_1904,bool),fun(U_1904,bool),hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),fun(U_1904,bool)),semilattice_sup_sup(fun(U_1904,bool)),U_1900),U_1902)))
    | ~ hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),U_1903),U_1902))
    | ~ hBOOL(hAPP(fun(U_1904,bool),bool,hAPP(fun(U_1904,bool),fun(fun(U_1904,bool),bool),ord_less_eq(fun(U_1904,bool)),U_1901),U_1900)) ),
    inference(clausify,[status(thm)],[f_416_2]) ).

fof(f_417_1,plain,
    ! [X_a,X_b,M_1,N] : hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(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),M_1),N)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),N)),hAPP(fun(X_a,option(X_b)),fun(X_a,bool),dom(X_a,X_b),M_1)),
    inference(fof_nnf,[status(thm)],[fact_269_dom__map__add]) ).

fof(f_417_2,plain,
    ! [U_1908,U_1907,U_1906,U_1905] : hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,option(U_1907)),hAPP(fun(U_1908,option(U_1907)),fun(fun(U_1908,option(U_1907)),fun(U_1908,option(U_1907))),map_add(U_1908,U_1907),U_1906),U_1905)) = hAPP(fun(U_1908,bool),fun(U_1908,bool),hAPP(fun(U_1908,bool),fun(fun(U_1908,bool),fun(U_1908,bool)),semilattice_sup_sup(fun(U_1908,bool)),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),U_1905)),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),U_1906)),
    inference(variable_rename,[status(thm)],[f_417_1]) ).

cnf(f_417_3,plain,
    hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,option(U_1907)),hAPP(fun(U_1908,option(U_1907)),fun(fun(U_1908,option(U_1907)),fun(U_1908,option(U_1907))),map_add(U_1908,U_1907),U_1906),U_1905)) = hAPP(fun(U_1908,bool),fun(U_1908,bool),hAPP(fun(U_1908,bool),fun(fun(U_1908,bool),fun(U_1908,bool)),semilattice_sup_sup(fun(U_1908,bool)),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),U_1905)),hAPP(fun(U_1908,option(U_1907)),fun(U_1908,bool),dom(U_1908,U_1907),U_1906)),
    inference(clausify,[status(thm)],[f_417_2]) ).

fof(f_418_1,plain,
    ! [E_1_1,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    inference(fof_nnf,[status(thm)],[fact_270_fv__fvs_Osimps_I11_J]) ).

fof(f_418_2,plain,
    ! [U_1910,U_1909] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1910),U_1909)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1910)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1909)),
    inference(variable_rename,[status(thm)],[f_418_1]) ).

cnf(f_418_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_1910),U_1909)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1910)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1909)),
    inference(clausify,[status(thm)],[f_418_2]) ).

fof(f_419_1,plain,
    ! [Pa,Va,S,E_b,S_3] :
      ( ( S_3 = S
        & E_b = hAPP(val,exp(list(char)),val_1(list(char)),Va) )
      | ~ 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)),Va)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_271_eval__cases_I2_J]) ).

fof(f_419_2,plain,
    ! [U_1915,U_1914,U_1913,U_1912,U_1911] :
      ( ( U_1911 = U_1913
        & U_1912 = hAPP(val,exp(list(char)),val_1(list(char)),U_1914) )
      | ~ 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,U_1915),hAPP(val,exp(list(char)),val_1(list(char)),U_1914)),U_1913),U_1912),U_1911)) ),
    inference(variable_rename,[status(thm)],[f_419_1]) ).

cnf(f_419_3,plain,
    ( U_1912 = hAPP(val,exp(list(char)),val_1(list(char)),U_1914)
    | ~ 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,U_1915),hAPP(val,exp(list(char)),val_1(list(char)),U_1914)),U_1913),U_1912),U_1911)) ),
    inference(clausify,[status(thm)],[f_419_2]) ).

cnf(f_419_4,plain,
    ( U_1911 = U_1913
    | ~ 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,U_1915),hAPP(val,exp(list(char)),val_1(list(char)),U_1914)),U_1913),U_1912),U_1911)) ),
    inference(clausify,[status(thm)],[f_419_2]) ).

fof(f_420_1,plain,
    ! [Pa,Va,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)),Va)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)),
    inference(fof_nnf,[status(thm)],[fact_272_Val]) ).

fof(f_420_2,plain,
    ! [U_1918,U_1917,U_1916] : 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,U_1918),hAPP(val,exp(list(char)),val_1(list(char)),U_1917)),U_1916),hAPP(val,exp(list(char)),val_1(list(char)),U_1917)),U_1916)),
    inference(variable_rename,[status(thm)],[f_420_1]) ).

cnf(f_420_3,plain,
    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,U_1918),hAPP(val,exp(list(char)),val_1(list(char)),U_1917)),U_1916),hAPP(val,exp(list(char)),val_1(list(char)),U_1917)),U_1916)),
    inference(clausify,[status(thm)],[f_420_2]) ).

fof(f_421_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_b)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),Lb)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb))))
      | ~ 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)))),Eb),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_273_Red__dom__lcl]) ).

fof(f_421_2,plain,
    ! [U_1925,U_1924,U_1923,U_1922,U_1921,U_1920,U_1919] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1920)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1923)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1925))))
      | ~ 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)))),U_1925),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))),U_1924),U_1923))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1922),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))),U_1921),U_1920)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1919))) ),
    inference(variable_rename,[status(thm)],[f_421_1]) ).

fof(f_421_3,plain,
    ! [U_1925,U_1924,U_1923,U_1922,U_1921,U_1920] :
      ( ! [U_1919] : ~ 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)))),U_1925),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))),U_1924),U_1923))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1922),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))),U_1921),U_1920)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1919)))
      | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1920)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1923)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1925)))) ),
    inference(miniscope,[status(thm)],[f_421_2]) ).

cnf(f_421_4,plain,
    ( ~ 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)))),U_1925),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))),U_1924),U_1923))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_1922),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))),U_1921),U_1920)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_1919)))
    | hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1920)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_1923)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1925)))) ),
    inference(clausify,[status(thm)],[f_421_3]) ).

fof(f_422_1,plain,
    ! [Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
      | ~ 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),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_274_eval__final]) ).

fof(f_422_2,plain,
    ! [U_1930,U_1929,U_1928,U_1927,U_1926] :
      ( hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1927))
      | ~ 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,U_1930),U_1929),U_1928),U_1927),U_1926)) ),
    inference(variable_rename,[status(thm)],[f_422_1]) ).

fof(f_422_3,plain,
    ! [U_1930,U_1929,U_1928,U_1927] :
      ( ! [U_1926] : ~ 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,U_1930),U_1929),U_1928),U_1927),U_1926))
      | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1927)) ),
    inference(miniscope,[status(thm)],[f_422_2]) ).

cnf(f_422_4,plain,
    ( ~ 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,U_1930),U_1929),U_1928),U_1927),U_1926))
    | hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1927)) ),
    inference(clausify,[status(thm)],[f_422_3]) ).

fof(f_423_1,plain,
    ! [Pa,S,Eb] :
      ( 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),Eb),S),Eb),S))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb)) ),
    inference(fof_nnf,[status(thm)],[fact_275_eval__finalId]) ).

fof(f_423_2,plain,
    ! [U_1933,U_1932,U_1931] :
      ( 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,U_1933),U_1931),U_1932),U_1931),U_1932))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1931)) ),
    inference(variable_rename,[status(thm)],[f_423_1]) ).

cnf(f_423_3,plain,
    ( 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,U_1933),U_1931),U_1932),U_1931),U_1932))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_1931)) ),
    inference(clausify,[status(thm)],[f_423_2]) ).

fof(f_424_1,plain,
    ! [Pa,Va_1,Ta,E_1_1,S,E_b,S_3] :
      ( ? [H_0_1,L_0_1] :
          ( ? [H_1_1,L_1_2] :
              ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),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_0_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_0_1),Va_1),none(val)))),E_b),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),L_1_2)))
              & S_3 = hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_2),Va_1),hAPP(list(char),option(val),L_0_1,Va_1))) )
          & S = 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_0_1),L_0_1) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),E_1_1)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_276_eval__cases_I8_J]) ).

fof(f_424_2,plain,
    ! [U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938] :
      ( ? [U_1937,U_1936] :
          ( ? [U_1935,U_1934] :
              ( 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,U_1944),U_1941),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))),U_1937),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1936),U_1943),none(val)))),U_1939),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))),U_1935),U_1934)))
              & U_1938 = 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))),U_1935),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1934),U_1943),hAPP(list(char),option(val),U_1936,U_1943))) )
          & U_1940 = 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))),U_1937),U_1936) )
      | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(variable_rename,[status(thm)],[f_424_1]) ).

fof(f_424_3,plain,
    ! [U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938] :
      ( ? [U_1936] :
          ( ? [U_1935,U_1934] :
              ( 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,U_1944),U_1941),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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1936),U_1943),none(val)))),U_1939),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))),U_1935),U_1934)))
              & U_1938 = 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))),U_1935),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1934),U_1943),hAPP(list(char),option(val),U_1936,U_1943))) )
          & U_1940 = 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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1936) )
      | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK118]),skolemize(U_1937,sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))],[f_424_2]) ).

fof(f_424_4,plain,
    ! [U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938] :
      ( ( ? [U_1935,U_1934] :
            ( 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,U_1944),U_1941),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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),none(val)))),U_1939),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))),U_1935),U_1934)))
            & U_1938 = 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))),U_1935),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1934),U_1943),hAPP(list(char),option(val),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938),U_1943))) )
        & U_1940 = 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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)) )
      | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK119]),skolemize(U_1936,sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))],[f_424_3]) ).

fof(f_424_5,plain,
    ! [U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938] :
      ( ( ? [U_1934] :
            ( 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,U_1944),U_1941),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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),none(val)))),U_1939),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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1934)))
            & U_1938 = 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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_1934),U_1943),hAPP(list(char),option(val),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938),U_1943))) )
        & U_1940 = 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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)) )
      | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK120]),skolemize(U_1935,sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))],[f_424_4]) ).

fof(f_424_6,plain,
    ! [U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938] :
      ( ( 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,U_1944),U_1941),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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),none(val)))),U_1939),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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK121(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))))
        & U_1938 = 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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK121(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),hAPP(list(char),option(val),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938),U_1943)))
        & U_1940 = 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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)) )
      | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK121]),skolemize(U_1934,sK121(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))],[f_424_5]) ).

cnf(f_424_7,plain,
    ( U_1940 = 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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))
    | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(clausify,[status(thm)],[f_424_6]) ).

cnf(f_424_8,plain,
    ( U_1938 = 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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK121(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),hAPP(list(char),option(val),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938),U_1943)))
    | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(clausify,[status(thm)],[f_424_6]) ).

cnf(f_424_9,plain,
    ( 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,U_1944),U_1941),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))),sK118(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK119(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),U_1943),none(val)))),U_1939),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))),sK120(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938)),sK121(U_1944,U_1943,U_1942,U_1941,U_1940,U_1939,U_1938))))
    | ~ 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,U_1944),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_1943),U_1942),U_1941)),U_1940),U_1939),U_1938)) ),
    inference(clausify,[status(thm)],[f_424_6]) ).

fof(f_425_1,plain,
    ! [W,Eb,Hb,Lb,E_b,H_b,L_b,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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))),Hb),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))),restrict_map(list(char),val),Lb),W))),E_b),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_b),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))),restrict_map(list(char),val),L_b),W))))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),W))
      | ~ 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),Eb),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))),Hb),Lb)),E_b),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_b),L_b)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_277_eval__restrict__lcl]) ).

fof(f_425_2,plain,
    ! [U_1952,U_1951,U_1950,U_1949,U_1948,U_1947,U_1946,U_1945] :
      ( 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,U_1945),U_1951),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))),U_1950),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))),restrict_map(list(char),val),U_1949),U_1952))),U_1948),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))),U_1947),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))),restrict_map(list(char),val),U_1946),U_1952))))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1951)),U_1952))
      | ~ 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,U_1945),U_1951),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))),U_1950),U_1949)),U_1948),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))),U_1947),U_1946)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1945)) ),
    inference(variable_rename,[status(thm)],[f_425_1]) ).

cnf(f_425_3,plain,
    ( 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,U_1945),U_1951),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))),U_1950),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))),restrict_map(list(char),val),U_1949),U_1952))),U_1948),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))),U_1947),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))),restrict_map(list(char),val),U_1946),U_1952))))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_1951)),U_1952))
    | ~ 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,U_1945),U_1951),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))),U_1950),U_1949)),U_1948),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))),U_1947),U_1946)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_1945)) ),
    inference(clausify,[status(thm)],[f_425_2]) ).

fof(f_426_1,plain,
    ! [X_b,X_a] :
      ( ! [F,G,X_1] : hAPP(X_b,X_a,hAPP(fun(X_b,X_a),fun(X_b,X_a),hAPP(fun(X_b,X_a),fun(fun(X_b,X_a),fun(X_b,X_a)),semilattice_sup_sup(fun(X_b,X_a)),F),G),X_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(X_b,X_a,G,X_1))
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_278_sup__apply]) ).

fof(f_426_2,plain,
    ! [U_1957,U_1956] :
      ( ! [U_1955,U_1954,U_1953] : hAPP(U_1957,U_1956,hAPP(fun(U_1957,U_1956),fun(U_1957,U_1956),hAPP(fun(U_1957,U_1956),fun(fun(U_1957,U_1956),fun(U_1957,U_1956)),semilattice_sup_sup(fun(U_1957,U_1956)),U_1955),U_1954),U_1953) = hAPP(U_1956,U_1956,hAPP(U_1956,fun(U_1956,U_1956),semilattice_sup_sup(U_1956),hAPP(U_1957,U_1956,U_1955,U_1953)),hAPP(U_1957,U_1956,U_1954,U_1953))
      | ~ lattice(U_1956) ),
    inference(variable_rename,[status(thm)],[f_426_1]) ).

cnf(f_426_3,plain,
    ( hAPP(U_1957,U_1956,hAPP(fun(U_1957,U_1956),fun(U_1957,U_1956),hAPP(fun(U_1957,U_1956),fun(fun(U_1957,U_1956),fun(U_1957,U_1956)),semilattice_sup_sup(fun(U_1957,U_1956)),U_1955),U_1954),U_1953) = hAPP(U_1956,U_1956,hAPP(U_1956,fun(U_1956,U_1956),semilattice_sup_sup(U_1956),hAPP(U_1957,U_1956,U_1955,U_1953)),hAPP(U_1957,U_1956,U_1954,U_1953))
    | ~ lattice(U_1956) ),
    inference(clausify,[status(thm)],[f_426_2]) ).

fof(f_427_1,plain,
    ! [X_a,X_b] :
      ( ! [F,G,X_2] : hAPP(X_a,X_b,hAPP(fun(X_a,X_b),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(X_a,X_b)),semilattice_sup_sup(fun(X_a,X_b)),F),G),X_2) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),semilattice_sup_sup(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2))
      | ~ lattice(X_b) ),
    inference(fof_nnf,[status(thm)],[fact_279_sup__fun__def]) ).

fof(f_427_2,plain,
    ! [U_1962,U_1961] :
      ( ! [U_1960,U_1959,U_1958] : hAPP(U_1962,U_1961,hAPP(fun(U_1962,U_1961),fun(U_1962,U_1961),hAPP(fun(U_1962,U_1961),fun(fun(U_1962,U_1961),fun(U_1962,U_1961)),semilattice_sup_sup(fun(U_1962,U_1961)),U_1960),U_1959),U_1958) = hAPP(U_1961,U_1961,hAPP(U_1961,fun(U_1961,U_1961),semilattice_sup_sup(U_1961),hAPP(U_1962,U_1961,U_1960,U_1958)),hAPP(U_1962,U_1961,U_1959,U_1958))
      | ~ lattice(U_1961) ),
    inference(variable_rename,[status(thm)],[f_427_1]) ).

cnf(f_427_3,plain,
    ( hAPP(U_1962,U_1961,hAPP(fun(U_1962,U_1961),fun(U_1962,U_1961),hAPP(fun(U_1962,U_1961),fun(fun(U_1962,U_1961),fun(U_1962,U_1961)),semilattice_sup_sup(fun(U_1962,U_1961)),U_1960),U_1959),U_1958) = hAPP(U_1961,U_1961,hAPP(U_1961,fun(U_1961,U_1961),semilattice_sup_sup(U_1961),hAPP(U_1962,U_1961,U_1960,U_1958)),hAPP(U_1962,U_1961,U_1959,U_1958))
    | ~ lattice(U_1961) ),
    inference(clausify,[status(thm)],[f_427_2]) ).

fof(f_428_1,plain,
    ! [F_1,D_2,C_1,Fs,E_2,Va,H_2,L_2,E_1_1,S_0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),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))))
      | 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_2,A_1)
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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)),Va)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_280_FAssRedsVal]) ).

fof(f_428_2,plain,
    ! [U_1975,U_1974,U_1973,U_1972,U_1971,U_1970,U_1969,U_1968,U_1967,U_1966,U_1965,U_1964,U_1963] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_1967),U_1975),U_1974),U_1971)),U_1966)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1969),U_1965),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))),U_1973),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_1972),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_1975),U_1974)),hAPP(val,option(val),some(val),U_1970)))))),U_1968)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963))))
      | 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))),U_1973),U_1972)) != hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1969,U_1965)
      | ~ 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)))),U_1971),U_1964)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1970)),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))),U_1969),U_1968)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963))))
      | ~ 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)))),U_1967),U_1966)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_1965))),U_1964))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963)))) ),
    inference(variable_rename,[status(thm)],[f_428_1]) ).

cnf(f_428_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_1967),U_1975),U_1974),U_1971)),U_1966)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_1969),U_1965),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))),U_1973),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_1972),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_1975),U_1974)),hAPP(val,option(val),some(val),U_1970)))))),U_1968)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963))))
    | 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))),U_1973),U_1972)) != hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_1969,U_1965)
    | ~ 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)))),U_1971),U_1964)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_1970)),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))),U_1969),U_1968)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963))))
    | ~ 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)))),U_1967),U_1966)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_1965))),U_1964))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_1963)))) ),
    inference(clausify,[status(thm)],[f_428_2]) ).

fof(f_429_1,plain,
    ! [X_a] :
      ( ! [A_5,B_2,X] :
          ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),X)) )
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),X)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_281_le__supE]) ).

fof(f_429_2,plain,
    ! [U_1979] :
      ( ! [U_1978,U_1977,U_1976] :
          ( ( hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),U_1977),U_1976))
            & hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),U_1978),U_1976)) )
          | ~ hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),hAPP(U_1979,U_1979,hAPP(U_1979,fun(U_1979,U_1979),semilattice_sup_sup(U_1979),U_1978),U_1977)),U_1976)) )
      | ~ semilattice_sup(U_1979) ),
    inference(variable_rename,[status(thm)],[f_429_1]) ).

cnf(f_429_3,plain,
    ( hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),U_1978),U_1976))
    | ~ hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),hAPP(U_1979,U_1979,hAPP(U_1979,fun(U_1979,U_1979),semilattice_sup_sup(U_1979),U_1978),U_1977)),U_1976))
    | ~ semilattice_sup(U_1979) ),
    inference(clausify,[status(thm)],[f_429_2]) ).

cnf(f_429_4,plain,
    ( hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),U_1977),U_1976))
    | ~ hBOOL(hAPP(U_1979,bool,hAPP(U_1979,fun(U_1979,bool),ord_less_eq(U_1979),hAPP(U_1979,U_1979,hAPP(U_1979,fun(U_1979,U_1979),semilattice_sup_sup(U_1979),U_1978),U_1977)),U_1976))
    | ~ semilattice_sup(U_1979) ),
    inference(clausify,[status(thm)],[f_429_2]) ).

fof(f_430_1,plain,
    ! [X_a] :
      ( ! [B_2,D_6,A_5,C_6] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),C_6),D_6)))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),D_6))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),C_6)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_282_sup__mono]) ).

fof(f_430_2,plain,
    ! [U_1984] :
      ( ! [U_1983,U_1982,U_1981,U_1980] :
          ( hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),hAPP(U_1984,U_1984,hAPP(U_1984,fun(U_1984,U_1984),semilattice_sup_sup(U_1984),U_1981),U_1983)),hAPP(U_1984,U_1984,hAPP(U_1984,fun(U_1984,U_1984),semilattice_sup_sup(U_1984),U_1980),U_1982)))
          | ~ hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),U_1983),U_1982))
          | ~ hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),U_1981),U_1980)) )
      | ~ semilattice_sup(U_1984) ),
    inference(variable_rename,[status(thm)],[f_430_1]) ).

cnf(f_430_3,plain,
    ( hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),hAPP(U_1984,U_1984,hAPP(U_1984,fun(U_1984,U_1984),semilattice_sup_sup(U_1984),U_1981),U_1983)),hAPP(U_1984,U_1984,hAPP(U_1984,fun(U_1984,U_1984),semilattice_sup_sup(U_1984),U_1980),U_1982)))
    | ~ hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),U_1983),U_1982))
    | ~ hBOOL(hAPP(U_1984,bool,hAPP(U_1984,fun(U_1984,bool),ord_less_eq(U_1984),U_1981),U_1980))
    | ~ semilattice_sup(U_1984) ),
    inference(clausify,[status(thm)],[f_430_2]) ).

fof(f_431_1,plain,
    ! [X_b,X_a,R_1,S_2,X_2,Xa] :
      ( ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)),X_2),Xa))
        | ~ hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),hAPP(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_b),bool)),R_1),S_2))) )
      & ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(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),X_2),Xa)),hAPP(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_b),bool)),R_1),S_2)))
        | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_1)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)),X_2),Xa)) ) ),
    inference(fof_nnf,[status(thm)],[fact_283_sup__Un__eq2]) ).

fof(f_431_2,plain,
    ! [U_1990,U_1989,U_1988,U_1987,U_1986,U_1985] :
      ( ( hBOOL(hAPP(U_1990,bool,hAPP(U_1989,fun(U_1990,bool),hAPP(fun(U_1989,fun(U_1990,bool)),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,bool)),fun(fun(U_1989,fun(U_1990,bool)),fun(U_1989,fun(U_1990,bool))),semilattice_sup_sup(fun(U_1989,fun(U_1990,bool))),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool))),combc(U_1989,fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),hAPP(fun(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)))),combb(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),U_1989),combc(U_1990,fun(product_prod(U_1989,U_1990),bool),bool)),hAPP(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),hAPP(fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)))),combb(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),U_1989),hAPP(fun(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),combb(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),U_1990),member(product_prod(U_1989,U_1990)))),product_Pair(U_1989,U_1990)))),U_1988)),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool))),combc(U_1989,fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),hAPP(fun(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)))),combb(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),U_1989),combc(U_1990,fun(product_prod(U_1989,U_1990),bool),bool)),hAPP(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),hAPP(fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)))),combb(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),U_1989),hAPP(fun(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),combb(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),U_1990),member(product_prod(U_1989,U_1990)))),product_Pair(U_1989,U_1990)))),U_1987)),U_1986),U_1985))
        | ~ hBOOL(hAPP(fun(product_prod(U_1989,U_1990),bool),bool,hAPP(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),member(product_prod(U_1989,U_1990)),hAPP(U_1990,product_prod(U_1989,U_1990),hAPP(U_1989,fun(U_1990,product_prod(U_1989,U_1990)),product_Pair(U_1989,U_1990),U_1986),U_1985)),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(product_prod(U_1989,U_1990),bool),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(fun(product_prod(U_1989,U_1990),bool),fun(product_prod(U_1989,U_1990),bool)),semilattice_sup_sup(fun(product_prod(U_1989,U_1990),bool)),U_1988),U_1987))) )
      & ( hBOOL(hAPP(fun(product_prod(U_1989,U_1990),bool),bool,hAPP(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),member(product_prod(U_1989,U_1990)),hAPP(U_1990,product_prod(U_1989,U_1990),hAPP(U_1989,fun(U_1990,product_prod(U_1989,U_1990)),product_Pair(U_1989,U_1990),U_1986),U_1985)),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(product_prod(U_1989,U_1990),bool),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(fun(product_prod(U_1989,U_1990),bool),fun(product_prod(U_1989,U_1990),bool)),semilattice_sup_sup(fun(product_prod(U_1989,U_1990),bool)),U_1988),U_1987)))
        | ~ hBOOL(hAPP(U_1990,bool,hAPP(U_1989,fun(U_1990,bool),hAPP(fun(U_1989,fun(U_1990,bool)),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,bool)),fun(fun(U_1989,fun(U_1990,bool)),fun(U_1989,fun(U_1990,bool))),semilattice_sup_sup(fun(U_1989,fun(U_1990,bool))),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool))),combc(U_1989,fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),hAPP(fun(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)))),combb(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),U_1989),combc(U_1990,fun(product_prod(U_1989,U_1990),bool),bool)),hAPP(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),hAPP(fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)))),combb(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),U_1989),hAPP(fun(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),combb(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),U_1990),member(product_prod(U_1989,U_1990)))),product_Pair(U_1989,U_1990)))),U_1988)),hAPP(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool)),hAPP(fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1989,fun(U_1990,bool))),combc(U_1989,fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),hAPP(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),hAPP(fun(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool))),fun(fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(U_1989,fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)))),combb(fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(product_prod(U_1989,U_1990),bool),fun(U_1990,bool)),U_1989),combc(U_1990,fun(product_prod(U_1989,U_1990),bool),bool)),hAPP(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),hAPP(fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),fun(fun(U_1989,fun(U_1990,product_prod(U_1989,U_1990))),fun(U_1989,fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)))),combb(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool)),U_1989),hAPP(fun(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool)),fun(fun(U_1990,product_prod(U_1989,U_1990)),fun(U_1990,fun(fun(product_prod(U_1989,U_1990),bool),bool))),combb(product_prod(U_1989,U_1990),fun(fun(product_prod(U_1989,U_1990),bool),bool),U_1990),member(product_prod(U_1989,U_1990)))),product_Pair(U_1989,U_1990)))),U_1987)),U_1986),U_1985)) ) ),
    inference(variable_rename,[status(thm)],[f_431_1]) ).

fof(f_431_3,plain,
    ( ! [U_2002,U_2000,U_1998,U_1996,U_1994,U_1992] :
        ( hBOOL(hAPP(U_2002,bool,hAPP(U_2000,fun(U_2002,bool),hAPP(fun(U_2000,fun(U_2002,bool)),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,bool)),fun(fun(U_2000,fun(U_2002,bool)),fun(U_2000,fun(U_2002,bool))),semilattice_sup_sup(fun(U_2000,fun(U_2002,bool))),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool))),combc(U_2000,fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),hAPP(fun(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)))),combb(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),U_2000),combc(U_2002,fun(product_prod(U_2000,U_2002),bool),bool)),hAPP(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),hAPP(fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)))),combb(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),U_2000),hAPP(fun(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),combb(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),U_2002),member(product_prod(U_2000,U_2002)))),product_Pair(U_2000,U_2002)))),U_1998)),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool))),combc(U_2000,fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),hAPP(fun(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)))),combb(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),U_2000),combc(U_2002,fun(product_prod(U_2000,U_2002),bool),bool)),hAPP(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),hAPP(fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)))),combb(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),U_2000),hAPP(fun(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),combb(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),U_2002),member(product_prod(U_2000,U_2002)))),product_Pair(U_2000,U_2002)))),U_1996)),U_1994),U_1992))
        | ~ hBOOL(hAPP(fun(product_prod(U_2000,U_2002),bool),bool,hAPP(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),member(product_prod(U_2000,U_2002)),hAPP(U_2002,product_prod(U_2000,U_2002),hAPP(U_2000,fun(U_2002,product_prod(U_2000,U_2002)),product_Pair(U_2000,U_2002),U_1994),U_1992)),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(product_prod(U_2000,U_2002),bool),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(fun(product_prod(U_2000,U_2002),bool),fun(product_prod(U_2000,U_2002),bool)),semilattice_sup_sup(fun(product_prod(U_2000,U_2002),bool)),U_1998),U_1996))) )
    & ! [U_2001,U_1999,U_1997,U_1995,U_1993,U_1991] :
        ( hBOOL(hAPP(fun(product_prod(U_1999,U_2001),bool),bool,hAPP(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),member(product_prod(U_1999,U_2001)),hAPP(U_2001,product_prod(U_1999,U_2001),hAPP(U_1999,fun(U_2001,product_prod(U_1999,U_2001)),product_Pair(U_1999,U_2001),U_1993),U_1991)),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(product_prod(U_1999,U_2001),bool),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(fun(product_prod(U_1999,U_2001),bool),fun(product_prod(U_1999,U_2001),bool)),semilattice_sup_sup(fun(product_prod(U_1999,U_2001),bool)),U_1997),U_1995)))
        | ~ hBOOL(hAPP(U_2001,bool,hAPP(U_1999,fun(U_2001,bool),hAPP(fun(U_1999,fun(U_2001,bool)),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,bool)),fun(fun(U_1999,fun(U_2001,bool)),fun(U_1999,fun(U_2001,bool))),semilattice_sup_sup(fun(U_1999,fun(U_2001,bool))),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool))),combc(U_1999,fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),hAPP(fun(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)))),combb(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),U_1999),combc(U_2001,fun(product_prod(U_1999,U_2001),bool),bool)),hAPP(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),hAPP(fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)))),combb(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),U_1999),hAPP(fun(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),combb(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),U_2001),member(product_prod(U_1999,U_2001)))),product_Pair(U_1999,U_2001)))),U_1997)),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool))),combc(U_1999,fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),hAPP(fun(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)))),combb(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),U_1999),combc(U_2001,fun(product_prod(U_1999,U_2001),bool),bool)),hAPP(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),hAPP(fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)))),combb(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),U_1999),hAPP(fun(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),combb(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),U_2001),member(product_prod(U_1999,U_2001)))),product_Pair(U_1999,U_2001)))),U_1995)),U_1993),U_1991)) ) ),
    inference(miniscope,[status(thm)],[f_431_2]) ).

cnf(f_431_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_1999,U_2001),bool),bool,hAPP(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),member(product_prod(U_1999,U_2001)),hAPP(U_2001,product_prod(U_1999,U_2001),hAPP(U_1999,fun(U_2001,product_prod(U_1999,U_2001)),product_Pair(U_1999,U_2001),U_1993),U_1991)),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(product_prod(U_1999,U_2001),bool),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(fun(product_prod(U_1999,U_2001),bool),fun(product_prod(U_1999,U_2001),bool)),semilattice_sup_sup(fun(product_prod(U_1999,U_2001),bool)),U_1997),U_1995)))
    | ~ hBOOL(hAPP(U_2001,bool,hAPP(U_1999,fun(U_2001,bool),hAPP(fun(U_1999,fun(U_2001,bool)),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,bool)),fun(fun(U_1999,fun(U_2001,bool)),fun(U_1999,fun(U_2001,bool))),semilattice_sup_sup(fun(U_1999,fun(U_2001,bool))),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool))),combc(U_1999,fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),hAPP(fun(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)))),combb(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),U_1999),combc(U_2001,fun(product_prod(U_1999,U_2001),bool),bool)),hAPP(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),hAPP(fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)))),combb(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),U_1999),hAPP(fun(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),combb(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),U_2001),member(product_prod(U_1999,U_2001)))),product_Pair(U_1999,U_2001)))),U_1997)),hAPP(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool)),hAPP(fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_1999,fun(U_2001,bool))),combc(U_1999,fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),hAPP(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),hAPP(fun(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool))),fun(fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(U_1999,fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)))),combb(fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(product_prod(U_1999,U_2001),bool),fun(U_2001,bool)),U_1999),combc(U_2001,fun(product_prod(U_1999,U_2001),bool),bool)),hAPP(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),hAPP(fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),fun(fun(U_1999,fun(U_2001,product_prod(U_1999,U_2001))),fun(U_1999,fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)))),combb(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool)),U_1999),hAPP(fun(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool)),fun(fun(U_2001,product_prod(U_1999,U_2001)),fun(U_2001,fun(fun(product_prod(U_1999,U_2001),bool),bool))),combb(product_prod(U_1999,U_2001),fun(fun(product_prod(U_1999,U_2001),bool),bool),U_2001),member(product_prod(U_1999,U_2001)))),product_Pair(U_1999,U_2001)))),U_1995)),U_1993),U_1991)) ),
    inference(clausify,[status(thm)],[f_431_3]) ).

cnf(f_431_5,plain,
    ( hBOOL(hAPP(U_2002,bool,hAPP(U_2000,fun(U_2002,bool),hAPP(fun(U_2000,fun(U_2002,bool)),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,bool)),fun(fun(U_2000,fun(U_2002,bool)),fun(U_2000,fun(U_2002,bool))),semilattice_sup_sup(fun(U_2000,fun(U_2002,bool))),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool))),combc(U_2000,fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),hAPP(fun(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)))),combb(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),U_2000),combc(U_2002,fun(product_prod(U_2000,U_2002),bool),bool)),hAPP(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),hAPP(fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)))),combb(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),U_2000),hAPP(fun(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),combb(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),U_2002),member(product_prod(U_2000,U_2002)))),product_Pair(U_2000,U_2002)))),U_1998)),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool)),hAPP(fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2000,fun(U_2002,bool))),combc(U_2000,fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),hAPP(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),hAPP(fun(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool))),fun(fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(U_2000,fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)))),combb(fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(product_prod(U_2000,U_2002),bool),fun(U_2002,bool)),U_2000),combc(U_2002,fun(product_prod(U_2000,U_2002),bool),bool)),hAPP(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),hAPP(fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),fun(fun(U_2000,fun(U_2002,product_prod(U_2000,U_2002))),fun(U_2000,fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)))),combb(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool)),U_2000),hAPP(fun(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool)),fun(fun(U_2002,product_prod(U_2000,U_2002)),fun(U_2002,fun(fun(product_prod(U_2000,U_2002),bool),bool))),combb(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),U_2002),member(product_prod(U_2000,U_2002)))),product_Pair(U_2000,U_2002)))),U_1996)),U_1994),U_1992))
    | ~ hBOOL(hAPP(fun(product_prod(U_2000,U_2002),bool),bool,hAPP(product_prod(U_2000,U_2002),fun(fun(product_prod(U_2000,U_2002),bool),bool),member(product_prod(U_2000,U_2002)),hAPP(U_2002,product_prod(U_2000,U_2002),hAPP(U_2000,fun(U_2002,product_prod(U_2000,U_2002)),product_Pair(U_2000,U_2002),U_1994),U_1992)),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(product_prod(U_2000,U_2002),bool),hAPP(fun(product_prod(U_2000,U_2002),bool),fun(fun(product_prod(U_2000,U_2002),bool),fun(product_prod(U_2000,U_2002),bool)),semilattice_sup_sup(fun(product_prod(U_2000,U_2002),bool)),U_1998),U_1996))) ),
    inference(clausify,[status(thm)],[f_431_3]) ).

fof(f_432_1,plain,
    ! [X_b,X_a,M_1,X_1,A_2] :
      ( hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_1) = hAPP(X_a,option(X_b),M_1,X_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_284_restrict__in]) ).

fof(f_432_2,plain,
    ! [U_2007,U_2006,U_2005,U_2004,U_2003] :
      ( hAPP(U_2006,option(U_2007),hAPP(fun(U_2006,bool),fun(U_2006,option(U_2007)),hAPP(fun(U_2006,option(U_2007)),fun(fun(U_2006,bool),fun(U_2006,option(U_2007))),restrict_map(U_2006,U_2007),U_2005),U_2003),U_2004) = hAPP(U_2006,option(U_2007),U_2005,U_2004)
      | ~ hBOOL(hAPP(fun(U_2006,bool),bool,hAPP(U_2006,fun(fun(U_2006,bool),bool),member(U_2006),U_2004),U_2003)) ),
    inference(variable_rename,[status(thm)],[f_432_1]) ).

cnf(f_432_3,plain,
    ( hAPP(U_2006,option(U_2007),hAPP(fun(U_2006,bool),fun(U_2006,option(U_2007)),hAPP(fun(U_2006,option(U_2007)),fun(fun(U_2006,bool),fun(U_2006,option(U_2007))),restrict_map(U_2006,U_2007),U_2005),U_2003),U_2004) = hAPP(U_2006,option(U_2007),U_2005,U_2004)
    | ~ hBOOL(hAPP(fun(U_2006,bool),bool,hAPP(U_2006,fun(fun(U_2006,bool),bool),member(U_2006),U_2004),U_2003)) ),
    inference(clausify,[status(thm)],[f_432_2]) ).

fof(f_433_1,plain,
    ! [X_a,Exp1_3,List1_3,List2_3,Exp2_3,Exp1_2,List1_2,List2_2,Exp2_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_3),List1_3),List2_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_2),List1_2),List2_2),Exp2_2)
        | Exp2_3 != Exp2_2
        | List2_3 != List2_2
        | List1_3 != List1_2
        | Exp1_3 != Exp1_2 )
      & ( ( Exp2_3 = Exp2_2
          & List2_3 = List2_2
          & List1_3 = List1_2
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_3),List1_3),List2_3),Exp2_3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_2),List1_2),List2_2),Exp2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_285_exp_Osimps_I8_J]) ).

fof(f_433_2,plain,
    ! [U_2016,U_2015,U_2014,U_2013,U_2012,U_2011,U_2010,U_2009,U_2008] :
      ( ( hAPP(exp(U_2016),exp(U_2016),hAPP(list(char),fun(exp(U_2016),exp(U_2016)),hAPP(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016))),hAPP(exp(U_2016),fun(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016)))),fAss(U_2016),U_2015),U_2014),U_2013),U_2012) = hAPP(exp(U_2016),exp(U_2016),hAPP(list(char),fun(exp(U_2016),exp(U_2016)),hAPP(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016))),hAPP(exp(U_2016),fun(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016)))),fAss(U_2016),U_2011),U_2010),U_2009),U_2008)
        | U_2012 != U_2008
        | U_2013 != U_2009
        | U_2014 != U_2010
        | U_2015 != U_2011 )
      & ( ( U_2012 = U_2008
          & U_2013 = U_2009
          & U_2014 = U_2010
          & U_2015 = U_2011 )
        | hAPP(exp(U_2016),exp(U_2016),hAPP(list(char),fun(exp(U_2016),exp(U_2016)),hAPP(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016))),hAPP(exp(U_2016),fun(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016)))),fAss(U_2016),U_2015),U_2014),U_2013),U_2012) != hAPP(exp(U_2016),exp(U_2016),hAPP(list(char),fun(exp(U_2016),exp(U_2016)),hAPP(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016))),hAPP(exp(U_2016),fun(list(char),fun(list(char),fun(exp(U_2016),exp(U_2016)))),fAss(U_2016),U_2011),U_2010),U_2009),U_2008) ) ),
    inference(variable_rename,[status(thm)],[f_433_1]) ).

fof(f_433_3,plain,
    ( ! [U_2034,U_2032,U_2030,U_2028,U_2026,U_2024,U_2022,U_2020,U_2018] :
        ( hAPP(exp(U_2034),exp(U_2034),hAPP(list(char),fun(exp(U_2034),exp(U_2034)),hAPP(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034))),hAPP(exp(U_2034),fun(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034)))),fAss(U_2034),U_2032),U_2030),U_2028),U_2026) = hAPP(exp(U_2034),exp(U_2034),hAPP(list(char),fun(exp(U_2034),exp(U_2034)),hAPP(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034))),hAPP(exp(U_2034),fun(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034)))),fAss(U_2034),U_2024),U_2022),U_2020),U_2018)
        | U_2026 != U_2018
        | U_2028 != U_2020
        | U_2030 != U_2022
        | U_2032 != U_2024 )
    & ! [U_2033,U_2031,U_2029,U_2027,U_2025,U_2023,U_2021,U_2019,U_2017] :
        ( ( U_2025 = U_2017
          & U_2027 = U_2019
          & U_2029 = U_2021
          & U_2031 = U_2023 )
        | hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2031),U_2029),U_2027),U_2025) != hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2023),U_2021),U_2019),U_2017) ) ),
    inference(miniscope,[status(thm)],[f_433_2]) ).

cnf(f_433_4,plain,
    ( U_2031 = U_2023
    | hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2031),U_2029),U_2027),U_2025) != hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2023),U_2021),U_2019),U_2017) ),
    inference(clausify,[status(thm)],[f_433_3]) ).

cnf(f_433_5,plain,
    ( U_2029 = U_2021
    | hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2031),U_2029),U_2027),U_2025) != hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2023),U_2021),U_2019),U_2017) ),
    inference(clausify,[status(thm)],[f_433_3]) ).

cnf(f_433_6,plain,
    ( U_2027 = U_2019
    | hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2031),U_2029),U_2027),U_2025) != hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2023),U_2021),U_2019),U_2017) ),
    inference(clausify,[status(thm)],[f_433_3]) ).

cnf(f_433_7,plain,
    ( U_2025 = U_2017
    | hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2031),U_2029),U_2027),U_2025) != hAPP(exp(U_2033),exp(U_2033),hAPP(list(char),fun(exp(U_2033),exp(U_2033)),hAPP(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033))),hAPP(exp(U_2033),fun(list(char),fun(list(char),fun(exp(U_2033),exp(U_2033)))),fAss(U_2033),U_2023),U_2021),U_2019),U_2017) ),
    inference(clausify,[status(thm)],[f_433_3]) ).

cnf(f_433_8,plain,
    ( hAPP(exp(U_2034),exp(U_2034),hAPP(list(char),fun(exp(U_2034),exp(U_2034)),hAPP(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034))),hAPP(exp(U_2034),fun(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034)))),fAss(U_2034),U_2032),U_2030),U_2028),U_2026) = hAPP(exp(U_2034),exp(U_2034),hAPP(list(char),fun(exp(U_2034),exp(U_2034)),hAPP(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034))),hAPP(exp(U_2034),fun(list(char),fun(list(char),fun(exp(U_2034),exp(U_2034)))),fAss(U_2034),U_2024),U_2022),U_2020),U_2018)
    | U_2026 != U_2018
    | U_2028 != U_2020
    | U_2030 != U_2022
    | U_2032 != U_2024 ),
    inference(clausify,[status(thm)],[f_433_3]) ).

fof(f_434_1,plain,
    ! [X_a,S_2,X_1,R_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)),X_1),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_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)),X_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_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)),X_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ),
    inference(fof_nnf,[status(thm)],[fact_286_in__rtrancl__UnI]) ).

fof(f_434_2,plain,
    ! [U_2038,U_2037,U_2036,U_2035] :
      ( hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool)),semilattice_sup_sup(fun(product_prod(U_2038,U_2038),bool)),U_2035),U_2037))))
      | ( ~ hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),U_2037)))
        & ~ hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),U_2035))) ) ),
    inference(variable_rename,[status(thm)],[f_434_1]) ).

cnf(f_434_3,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),U_2035)))
    | hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool)),semilattice_sup_sup(fun(product_prod(U_2038,U_2038),bool)),U_2035),U_2037)))) ),
    inference(clausify,[status(thm)],[f_434_2]) ).

cnf(f_434_4,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),U_2037)))
    | hBOOL(hAPP(fun(product_prod(U_2038,U_2038),bool),bool,hAPP(product_prod(U_2038,U_2038),fun(fun(product_prod(U_2038,U_2038),bool),bool),member(product_prod(U_2038,U_2038)),U_2036),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),transitive_rtrancl(U_2038),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool),hAPP(fun(product_prod(U_2038,U_2038),bool),fun(fun(product_prod(U_2038,U_2038),bool),fun(product_prod(U_2038,U_2038),bool)),semilattice_sup_sup(fun(product_prod(U_2038,U_2038),bool)),U_2035),U_2037)))) ),
    inference(clausify,[status(thm)],[f_434_2]) ).

fof(f_435_1,plain,
    ! [X_a,R_1,S_2] : 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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2))) = 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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_2)),
    inference(fof_nnf,[status(thm)],[fact_287_rtrancl__Un__rtrancl]) ).

fof(f_435_2,plain,
    ! [U_2041,U_2040,U_2039] : hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool)),semilattice_sup_sup(fun(product_prod(U_2041,U_2041),bool)),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),U_2040)),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),U_2039))) = hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool)),semilattice_sup_sup(fun(product_prod(U_2041,U_2041),bool)),U_2040),U_2039)),
    inference(variable_rename,[status(thm)],[f_435_1]) ).

cnf(f_435_3,plain,
    hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool)),semilattice_sup_sup(fun(product_prod(U_2041,U_2041),bool)),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),U_2040)),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),U_2039))) = hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),transitive_rtrancl(U_2041),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool),hAPP(fun(product_prod(U_2041,U_2041),bool),fun(fun(product_prod(U_2041,U_2041),bool),fun(product_prod(U_2041,U_2041),bool)),semilattice_sup_sup(fun(product_prod(U_2041,U_2041),bool)),U_2040),U_2039)),
    inference(clausify,[status(thm)],[f_435_2]) ).

fof(f_436_1,plain,
    ! [F_1,D_2,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_288_redp__redsp_OFAssRed1]) ).

fof(f_436_2,plain,
    ! [U_2049,U_2048,U_2047,U_2046,U_2045,U_2044,U_2043,U_2042] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2046),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2045),U_2049),U_2048),U_2047)),U_2044),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2043),U_2049),U_2048),U_2047)),U_2042))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2046),U_2045),U_2044),U_2043),U_2042)) ),
    inference(variable_rename,[status(thm)],[f_436_1]) ).

cnf(f_436_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2046),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2045),U_2049),U_2048),U_2047)),U_2044),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2043),U_2049),U_2048),U_2047)),U_2042))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2046),U_2045),U_2044),U_2043),U_2042)) ),
    inference(clausify,[status(thm)],[f_436_2]) ).

fof(f_437_1,plain,
    ! [X_a,Val,Exp1,List1_1,List2_1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_289_exp_Osimps_I78_J]) ).

fof(f_437_2,plain,
    ! [U_2055,U_2054,U_2053,U_2052,U_2051,U_2050] : hAPP(val,exp(U_2055),val_1(U_2055),U_2054) != hAPP(exp(U_2055),exp(U_2055),hAPP(list(char),fun(exp(U_2055),exp(U_2055)),hAPP(list(char),fun(list(char),fun(exp(U_2055),exp(U_2055))),hAPP(exp(U_2055),fun(list(char),fun(list(char),fun(exp(U_2055),exp(U_2055)))),fAss(U_2055),U_2053),U_2052),U_2051),U_2050),
    inference(variable_rename,[status(thm)],[f_437_1]) ).

cnf(f_437_3,plain,
    hAPP(val,exp(U_2055),val_1(U_2055),U_2054) != hAPP(exp(U_2055),exp(U_2055),hAPP(list(char),fun(exp(U_2055),exp(U_2055)),hAPP(list(char),fun(list(char),fun(exp(U_2055),exp(U_2055))),hAPP(exp(U_2055),fun(list(char),fun(list(char),fun(exp(U_2055),exp(U_2055)))),fAss(U_2055),U_2053),U_2052),U_2051),U_2050),
    inference(clausify,[status(thm)],[f_437_2]) ).

fof(f_438_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_290_exp_Osimps_I79_J]) ).

fof(f_438_2,plain,
    ! [U_2061,U_2060,U_2059,U_2058,U_2057,U_2056] : hAPP(exp(U_2061),exp(U_2061),hAPP(list(char),fun(exp(U_2061),exp(U_2061)),hAPP(list(char),fun(list(char),fun(exp(U_2061),exp(U_2061))),hAPP(exp(U_2061),fun(list(char),fun(list(char),fun(exp(U_2061),exp(U_2061)))),fAss(U_2061),U_2060),U_2059),U_2058),U_2057) != hAPP(val,exp(U_2061),val_1(U_2061),U_2056),
    inference(variable_rename,[status(thm)],[f_438_1]) ).

cnf(f_438_3,plain,
    hAPP(exp(U_2061),exp(U_2061),hAPP(list(char),fun(exp(U_2061),exp(U_2061)),hAPP(list(char),fun(list(char),fun(exp(U_2061),exp(U_2061))),hAPP(exp(U_2061),fun(list(char),fun(list(char),fun(exp(U_2061),exp(U_2061)))),fAss(U_2061),U_2060),U_2059),U_2058),U_2057) != hAPP(val,exp(U_2061),val_1(U_2061),U_2056),
    inference(clausify,[status(thm)],[f_438_2]) ).

fof(f_439_1,plain,
    ! [X_b,X_a,M_1,X_1,A_2] :
      ( hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_1) = none(X_b)
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_291_restrict__out]) ).

fof(f_439_2,plain,
    ! [U_2066,U_2065,U_2064,U_2063,U_2062] :
      ( hAPP(U_2065,option(U_2066),hAPP(fun(U_2065,bool),fun(U_2065,option(U_2066)),hAPP(fun(U_2065,option(U_2066)),fun(fun(U_2065,bool),fun(U_2065,option(U_2066))),restrict_map(U_2065,U_2066),U_2064),U_2062),U_2063) = none(U_2066)
      | hBOOL(hAPP(fun(U_2065,bool),bool,hAPP(U_2065,fun(fun(U_2065,bool),bool),member(U_2065),U_2063),U_2062)) ),
    inference(variable_rename,[status(thm)],[f_439_1]) ).

cnf(f_439_3,plain,
    ( hAPP(U_2065,option(U_2066),hAPP(fun(U_2065,bool),fun(U_2065,option(U_2066)),hAPP(fun(U_2065,option(U_2066)),fun(fun(U_2065,bool),fun(U_2065,option(U_2066))),restrict_map(U_2065,U_2066),U_2064),U_2062),U_2063) = none(U_2066)
    | hBOOL(hAPP(fun(U_2065,bool),bool,hAPP(U_2065,fun(fun(U_2065,bool),bool),member(U_2065),U_2063),U_2062)) ),
    inference(clausify,[status(thm)],[f_439_2]) ).

fof(f_440_1,plain,
    ! [X_b,X_a,M_1,A_2,X_2] :
      ( ( hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_2) = none(X_b)
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) )
      & ( hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),M_1),A_2),X_2) = hAPP(X_a,option(X_b),M_1,X_2)
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_292_restrict__map__def]) ).

fof(f_440_2,plain,
    ! [U_2071,U_2070,U_2069,U_2068,U_2067] :
      ( ( hAPP(U_2070,option(U_2071),hAPP(fun(U_2070,bool),fun(U_2070,option(U_2071)),hAPP(fun(U_2070,option(U_2071)),fun(fun(U_2070,bool),fun(U_2070,option(U_2071))),restrict_map(U_2070,U_2071),U_2069),U_2068),U_2067) = none(U_2071)
        | hBOOL(hAPP(fun(U_2070,bool),bool,hAPP(U_2070,fun(fun(U_2070,bool),bool),member(U_2070),U_2067),U_2068)) )
      & ( hAPP(U_2070,option(U_2071),hAPP(fun(U_2070,bool),fun(U_2070,option(U_2071)),hAPP(fun(U_2070,option(U_2071)),fun(fun(U_2070,bool),fun(U_2070,option(U_2071))),restrict_map(U_2070,U_2071),U_2069),U_2068),U_2067) = hAPP(U_2070,option(U_2071),U_2069,U_2067)
        | ~ hBOOL(hAPP(fun(U_2070,bool),bool,hAPP(U_2070,fun(fun(U_2070,bool),bool),member(U_2070),U_2067),U_2068)) ) ),
    inference(variable_rename,[status(thm)],[f_440_1]) ).

fof(f_440_3,plain,
    ( ! [U_2081,U_2079,U_2077,U_2075,U_2073] :
        ( hAPP(U_2079,option(U_2081),hAPP(fun(U_2079,bool),fun(U_2079,option(U_2081)),hAPP(fun(U_2079,option(U_2081)),fun(fun(U_2079,bool),fun(U_2079,option(U_2081))),restrict_map(U_2079,U_2081),U_2077),U_2075),U_2073) = none(U_2081)
        | hBOOL(hAPP(fun(U_2079,bool),bool,hAPP(U_2079,fun(fun(U_2079,bool),bool),member(U_2079),U_2073),U_2075)) )
    & ! [U_2080,U_2078,U_2076,U_2074,U_2072] :
        ( hAPP(U_2078,option(U_2080),hAPP(fun(U_2078,bool),fun(U_2078,option(U_2080)),hAPP(fun(U_2078,option(U_2080)),fun(fun(U_2078,bool),fun(U_2078,option(U_2080))),restrict_map(U_2078,U_2080),U_2076),U_2074),U_2072) = hAPP(U_2078,option(U_2080),U_2076,U_2072)
        | ~ hBOOL(hAPP(fun(U_2078,bool),bool,hAPP(U_2078,fun(fun(U_2078,bool),bool),member(U_2078),U_2072),U_2074)) ) ),
    inference(miniscope,[status(thm)],[f_440_2]) ).

cnf(f_440_4,plain,
    ( hAPP(U_2078,option(U_2080),hAPP(fun(U_2078,bool),fun(U_2078,option(U_2080)),hAPP(fun(U_2078,option(U_2080)),fun(fun(U_2078,bool),fun(U_2078,option(U_2080))),restrict_map(U_2078,U_2080),U_2076),U_2074),U_2072) = hAPP(U_2078,option(U_2080),U_2076,U_2072)
    | ~ hBOOL(hAPP(fun(U_2078,bool),bool,hAPP(U_2078,fun(fun(U_2078,bool),bool),member(U_2078),U_2072),U_2074)) ),
    inference(clausify,[status(thm)],[f_440_3]) ).

cnf(f_440_5,plain,
    ( hAPP(U_2079,option(U_2081),hAPP(fun(U_2079,bool),fun(U_2079,option(U_2081)),hAPP(fun(U_2079,option(U_2081)),fun(fun(U_2079,bool),fun(U_2079,option(U_2081))),restrict_map(U_2079,U_2081),U_2077),U_2075),U_2073) = none(U_2081)
    | hBOOL(hAPP(fun(U_2079,bool),bool,hAPP(U_2079,fun(fun(U_2079,bool),bool),member(U_2079),U_2073),U_2075)) ),
    inference(clausify,[status(thm)],[f_440_3]) ).

fof(f_441_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_293_exp_Osimps_I175_J]) ).

fof(f_441_2,plain,
    ! [U_2088,U_2087,U_2086,U_2085,U_2084,U_2083,U_2082] : hAPP(exp(U_2088),exp(U_2088),hAPP(exp(U_2088),fun(exp(U_2088),exp(U_2088)),seq(U_2088),U_2087),U_2086) != hAPP(exp(U_2088),exp(U_2088),hAPP(list(char),fun(exp(U_2088),exp(U_2088)),hAPP(list(char),fun(list(char),fun(exp(U_2088),exp(U_2088))),hAPP(exp(U_2088),fun(list(char),fun(list(char),fun(exp(U_2088),exp(U_2088)))),fAss(U_2088),U_2085),U_2084),U_2083),U_2082),
    inference(variable_rename,[status(thm)],[f_441_1]) ).

cnf(f_441_3,plain,
    hAPP(exp(U_2088),exp(U_2088),hAPP(exp(U_2088),fun(exp(U_2088),exp(U_2088)),seq(U_2088),U_2087),U_2086) != hAPP(exp(U_2088),exp(U_2088),hAPP(list(char),fun(exp(U_2088),exp(U_2088)),hAPP(list(char),fun(list(char),fun(exp(U_2088),exp(U_2088))),hAPP(exp(U_2088),fun(list(char),fun(list(char),fun(exp(U_2088),exp(U_2088)))),fAss(U_2088),U_2085),U_2084),U_2083),U_2082),
    inference(clausify,[status(thm)],[f_441_2]) ).

fof(f_442_1,plain,
    ! [X_a,A_5,Exp,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_294_exp_Osimps_I138_J]) ).

fof(f_442_2,plain,
    ! [U_2095,U_2094,U_2093,U_2092,U_2091,U_2090,U_2089] : hAPP(exp(U_2095),exp(U_2095),hAPP(U_2095,fun(exp(U_2095),exp(U_2095)),lAss(U_2095),U_2094),U_2093) != hAPP(exp(U_2095),exp(U_2095),hAPP(list(char),fun(exp(U_2095),exp(U_2095)),hAPP(list(char),fun(list(char),fun(exp(U_2095),exp(U_2095))),hAPP(exp(U_2095),fun(list(char),fun(list(char),fun(exp(U_2095),exp(U_2095)))),fAss(U_2095),U_2092),U_2091),U_2090),U_2089),
    inference(variable_rename,[status(thm)],[f_442_1]) ).

cnf(f_442_3,plain,
    hAPP(exp(U_2095),exp(U_2095),hAPP(U_2095,fun(exp(U_2095),exp(U_2095)),lAss(U_2095),U_2094),U_2093) != hAPP(exp(U_2095),exp(U_2095),hAPP(list(char),fun(exp(U_2095),exp(U_2095)),hAPP(list(char),fun(list(char),fun(exp(U_2095),exp(U_2095))),hAPP(exp(U_2095),fun(list(char),fun(list(char),fun(exp(U_2095),exp(U_2095)))),fAss(U_2095),U_2092),U_2091),U_2090),U_2089),
    inference(clausify,[status(thm)],[f_442_2]) ).

fof(f_443_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_295_exp_Osimps_I174_J]) ).

fof(f_443_2,plain,
    ! [U_2102,U_2101,U_2100,U_2099,U_2098,U_2097,U_2096] : hAPP(exp(U_2102),exp(U_2102),hAPP(list(char),fun(exp(U_2102),exp(U_2102)),hAPP(list(char),fun(list(char),fun(exp(U_2102),exp(U_2102))),hAPP(exp(U_2102),fun(list(char),fun(list(char),fun(exp(U_2102),exp(U_2102)))),fAss(U_2102),U_2101),U_2100),U_2099),U_2098) != hAPP(exp(U_2102),exp(U_2102),hAPP(exp(U_2102),fun(exp(U_2102),exp(U_2102)),seq(U_2102),U_2097),U_2096),
    inference(variable_rename,[status(thm)],[f_443_1]) ).

cnf(f_443_3,plain,
    hAPP(exp(U_2102),exp(U_2102),hAPP(list(char),fun(exp(U_2102),exp(U_2102)),hAPP(list(char),fun(list(char),fun(exp(U_2102),exp(U_2102))),hAPP(exp(U_2102),fun(list(char),fun(list(char),fun(exp(U_2102),exp(U_2102)))),fAss(U_2102),U_2101),U_2100),U_2099),U_2098) != hAPP(exp(U_2102),exp(U_2102),hAPP(exp(U_2102),fun(exp(U_2102),exp(U_2102)),seq(U_2102),U_2097),U_2096),
    inference(clausify,[status(thm)],[f_443_2]) ).

fof(f_444_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_296_exp_Osimps_I139_J]) ).

fof(f_444_2,plain,
    ! [U_2109,U_2108,U_2107,U_2106,U_2105,U_2104,U_2103] : hAPP(exp(U_2109),exp(U_2109),hAPP(list(char),fun(exp(U_2109),exp(U_2109)),hAPP(list(char),fun(list(char),fun(exp(U_2109),exp(U_2109))),hAPP(exp(U_2109),fun(list(char),fun(list(char),fun(exp(U_2109),exp(U_2109)))),fAss(U_2109),U_2108),U_2107),U_2106),U_2105) != hAPP(exp(U_2109),exp(U_2109),hAPP(U_2109,fun(exp(U_2109),exp(U_2109)),lAss(U_2109),U_2104),U_2103),
    inference(variable_rename,[status(thm)],[f_444_1]) ).

cnf(f_444_3,plain,
    hAPP(exp(U_2109),exp(U_2109),hAPP(list(char),fun(exp(U_2109),exp(U_2109)),hAPP(list(char),fun(list(char),fun(exp(U_2109),exp(U_2109))),hAPP(exp(U_2109),fun(list(char),fun(list(char),fun(exp(U_2109),exp(U_2109)))),fAss(U_2109),U_2108),U_2107),U_2106),U_2105) != hAPP(exp(U_2109),exp(U_2109),hAPP(U_2109,fun(exp(U_2109),exp(U_2109)),lAss(U_2109),U_2104),U_2103),
    inference(clausify,[status(thm)],[f_444_2]) ).

fof(f_445_1,plain,
    ! [X_a,A_6,Ty,Exp_1,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_297_exp_Osimps_I173_J]) ).

fof(f_445_2,plain,
    ! [U_2117,U_2116,U_2115,U_2114,U_2113,U_2112,U_2111,U_2110] : hAPP(exp(U_2117),exp(U_2117),hAPP(ty,fun(exp(U_2117),exp(U_2117)),hAPP(U_2117,fun(ty,fun(exp(U_2117),exp(U_2117))),block(U_2117),U_2116),U_2115),U_2114) != hAPP(exp(U_2117),exp(U_2117),hAPP(list(char),fun(exp(U_2117),exp(U_2117)),hAPP(list(char),fun(list(char),fun(exp(U_2117),exp(U_2117))),hAPP(exp(U_2117),fun(list(char),fun(list(char),fun(exp(U_2117),exp(U_2117)))),fAss(U_2117),U_2113),U_2112),U_2111),U_2110),
    inference(variable_rename,[status(thm)],[f_445_1]) ).

cnf(f_445_3,plain,
    hAPP(exp(U_2117),exp(U_2117),hAPP(ty,fun(exp(U_2117),exp(U_2117)),hAPP(U_2117,fun(ty,fun(exp(U_2117),exp(U_2117))),block(U_2117),U_2116),U_2115),U_2114) != hAPP(exp(U_2117),exp(U_2117),hAPP(list(char),fun(exp(U_2117),exp(U_2117)),hAPP(list(char),fun(list(char),fun(exp(U_2117),exp(U_2117))),hAPP(exp(U_2117),fun(list(char),fun(list(char),fun(exp(U_2117),exp(U_2117)))),fAss(U_2117),U_2113),U_2112),U_2111),U_2110),
    inference(clausify,[status(thm)],[f_445_2]) ).

fof(f_446_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_298_exp_Osimps_I172_J]) ).

fof(f_446_2,plain,
    ! [U_2125,U_2124,U_2123,U_2122,U_2121,U_2120,U_2119,U_2118] : hAPP(exp(U_2125),exp(U_2125),hAPP(list(char),fun(exp(U_2125),exp(U_2125)),hAPP(list(char),fun(list(char),fun(exp(U_2125),exp(U_2125))),hAPP(exp(U_2125),fun(list(char),fun(list(char),fun(exp(U_2125),exp(U_2125)))),fAss(U_2125),U_2124),U_2123),U_2122),U_2121) != hAPP(exp(U_2125),exp(U_2125),hAPP(ty,fun(exp(U_2125),exp(U_2125)),hAPP(U_2125,fun(ty,fun(exp(U_2125),exp(U_2125))),block(U_2125),U_2120),U_2119),U_2118),
    inference(variable_rename,[status(thm)],[f_446_1]) ).

cnf(f_446_3,plain,
    hAPP(exp(U_2125),exp(U_2125),hAPP(list(char),fun(exp(U_2125),exp(U_2125)),hAPP(list(char),fun(list(char),fun(exp(U_2125),exp(U_2125))),hAPP(exp(U_2125),fun(list(char),fun(list(char),fun(exp(U_2125),exp(U_2125)))),fAss(U_2125),U_2124),U_2123),U_2122),U_2121) != hAPP(exp(U_2125),exp(U_2125),hAPP(ty,fun(exp(U_2125),exp(U_2125)),hAPP(U_2125,fun(ty,fun(exp(U_2125),exp(U_2125))),block(U_2125),U_2120),U_2119),U_2118),
    inference(clausify,[status(thm)],[f_446_2]) ).

fof(f_447_1,plain,
    ! [X_a,X_b,D_2,X_2] : hAPP(X_a,option(X_b),hAPP(fun(X_a,bool),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,bool),fun(X_a,option(X_b))),restrict_map(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),combk(option(X_b),X_a),none(X_b))),D_2),X_2) = none(X_b),
    inference(fof_nnf,[status(thm)],[fact_299_restrict__map__empty]) ).

fof(f_447_2,plain,
    ! [U_2129,U_2128,U_2127,U_2126] : hAPP(U_2129,option(U_2128),hAPP(fun(U_2129,bool),fun(U_2129,option(U_2128)),hAPP(fun(U_2129,option(U_2128)),fun(fun(U_2129,bool),fun(U_2129,option(U_2128))),restrict_map(U_2129,U_2128),hAPP(option(U_2128),fun(U_2129,option(U_2128)),combk(option(U_2128),U_2129),none(U_2128))),U_2127),U_2126) = none(U_2128),
    inference(variable_rename,[status(thm)],[f_447_1]) ).

cnf(f_447_3,plain,
    hAPP(U_2129,option(U_2128),hAPP(fun(U_2129,bool),fun(U_2129,option(U_2128)),hAPP(fun(U_2129,option(U_2128)),fun(fun(U_2129,bool),fun(U_2129,option(U_2128))),restrict_map(U_2129,U_2128),hAPP(option(U_2128),fun(U_2129,option(U_2128)),combk(option(U_2128),U_2129),none(U_2128))),U_2127),U_2126) = none(U_2128),
    inference(clausify,[status(thm)],[f_447_2]) ).

fof(f_448_1,plain,
    ! [Va,F_1,D_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_300_redp__redsp_OFAssRed2]) ).

fof(f_448_2,plain,
    ! [U_2137,U_2136,U_2135,U_2134,U_2133,U_2132,U_2131,U_2130] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2134),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2137)),U_2136),U_2135),U_2133)),U_2132),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2137)),U_2136),U_2135),U_2131)),U_2130))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2134),U_2133),U_2132),U_2131),U_2130)) ),
    inference(variable_rename,[status(thm)],[f_448_1]) ).

cnf(f_448_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2134),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2137)),U_2136),U_2135),U_2133)),U_2132),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2137)),U_2136),U_2135),U_2131)),U_2130))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2134),U_2133),U_2132),U_2131),U_2130)) ),
    inference(clausify,[status(thm)],[f_448_2]) ).

fof(f_449_1,plain,
    ! [X_a,R_1,S_2] : hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2))),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),R_1),S_2)))),
    inference(fof_nnf,[status(thm)],[fact_301_rtrancl__Un__subset]) ).

fof(f_449_2,plain,
    ! [U_2140,U_2139,U_2138] : hBOOL(hAPP(fun(product_prod(U_2140,U_2140),bool),bool,hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),bool),ord_less_eq(fun(product_prod(U_2140,U_2140),bool)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool)),semilattice_sup_sup(fun(product_prod(U_2140,U_2140),bool)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),U_2139)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),U_2138))),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool)),semilattice_sup_sup(fun(product_prod(U_2140,U_2140),bool)),U_2139),U_2138)))),
    inference(variable_rename,[status(thm)],[f_449_1]) ).

cnf(f_449_3,plain,
    hBOOL(hAPP(fun(product_prod(U_2140,U_2140),bool),bool,hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),bool),ord_less_eq(fun(product_prod(U_2140,U_2140),bool)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool)),semilattice_sup_sup(fun(product_prod(U_2140,U_2140),bool)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),U_2139)),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),U_2138))),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),transitive_rtrancl(U_2140),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool),hAPP(fun(product_prod(U_2140,U_2140),bool),fun(fun(product_prod(U_2140,U_2140),bool),fun(product_prod(U_2140,U_2140),bool)),semilattice_sup_sup(fun(product_prod(U_2140,U_2140),bool)),U_2139),U_2138)))),
    inference(clausify,[status(thm)],[f_449_2]) ).

fof(f_450_1,plain,
    ! [E_1_1,F_1,D_2,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    inference(fof_nnf,[status(thm)],[fact_302_fv__fvs_Osimps_I8_J]) ).

fof(f_450_2,plain,
    ! [U_2144,U_2143,U_2142,U_2141] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2144),U_2143),U_2142),U_2141)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_2144)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_2141)),
    inference(variable_rename,[status(thm)],[f_450_1]) ).

cnf(f_450_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2144),U_2143),U_2142),U_2141)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_2144)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_2141)),
    inference(clausify,[status(thm)],[f_450_2]) ).

fof(f_451_1,plain,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_303_red__reds_OFAssRed1]) ).

fof(f_451_2,plain,
    ! [U_2152,U_2151,U_2150,U_2149,U_2148,U_2147,U_2146,U_2145] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2149),U_2152),U_2151),U_2150)),U_2148)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2147),U_2152),U_2151),U_2150)),U_2146))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2145)))
      | ~ 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)))),U_2149),U_2148)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2147),U_2146))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2145))) ),
    inference(variable_rename,[status(thm)],[f_451_1]) ).

cnf(f_451_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2149),U_2152),U_2151),U_2150)),U_2148)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2147),U_2152),U_2151),U_2150)),U_2146))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2145)))
    | ~ 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)))),U_2149),U_2148)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2147),U_2146))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2145))) ),
    inference(clausify,[status(thm)],[f_451_2]) ).

fof(f_452_1,plain,
    ! [X_a] :
      ( ! [A_5] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),A_5) = ti(X_a,A_5)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_304_sup_Oidem]) ).

fof(f_452_2,plain,
    ! [U_2154] :
      ( ! [U_2153] : hAPP(U_2154,U_2154,hAPP(U_2154,fun(U_2154,U_2154),semilattice_sup_sup(U_2154),U_2153),U_2153) = ti(U_2154,U_2153)
      | ~ semilattice_sup(U_2154) ),
    inference(variable_rename,[status(thm)],[f_452_1]) ).

cnf(f_452_3,plain,
    ( hAPP(U_2154,U_2154,hAPP(U_2154,fun(U_2154,U_2154),semilattice_sup_sup(U_2154),U_2153),U_2153) = ti(U_2154,U_2153)
    | ~ semilattice_sup(U_2154) ),
    inference(clausify,[status(thm)],[f_452_2]) ).

fof(f_453_1,plain,
    ! [X_a] :
      ( ! [X] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),X) = ti(X_a,X)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_305_sup__idem]) ).

fof(f_453_2,plain,
    ! [U_2156] :
      ( ! [U_2155] : hAPP(U_2156,U_2156,hAPP(U_2156,fun(U_2156,U_2156),semilattice_sup_sup(U_2156),U_2155),U_2155) = ti(U_2156,U_2155)
      | ~ semilattice_sup(U_2156) ),
    inference(variable_rename,[status(thm)],[f_453_1]) ).

cnf(f_453_3,plain,
    ( hAPP(U_2156,U_2156,hAPP(U_2156,fun(U_2156,U_2156),semilattice_sup_sup(U_2156),U_2155),U_2155) = ti(U_2156,U_2155)
    | ~ semilattice_sup(U_2156) ),
    inference(clausify,[status(thm)],[f_453_2]) ).

fof(f_454_1,plain,
    ! [X_a] :
      ( ! [A_5,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),A_5)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_306_sup_Ocommute]) ).

fof(f_454_2,plain,
    ! [U_2159] :
      ( ! [U_2158,U_2157] : hAPP(U_2159,U_2159,hAPP(U_2159,fun(U_2159,U_2159),semilattice_sup_sup(U_2159),U_2158),U_2157) = hAPP(U_2159,U_2159,hAPP(U_2159,fun(U_2159,U_2159),semilattice_sup_sup(U_2159),U_2157),U_2158)
      | ~ semilattice_sup(U_2159) ),
    inference(variable_rename,[status(thm)],[f_454_1]) ).

cnf(f_454_3,plain,
    ( hAPP(U_2159,U_2159,hAPP(U_2159,fun(U_2159,U_2159),semilattice_sup_sup(U_2159),U_2158),U_2157) = hAPP(U_2159,U_2159,hAPP(U_2159,fun(U_2159,U_2159),semilattice_sup_sup(U_2159),U_2157),U_2158)
    | ~ semilattice_sup(U_2159) ),
    inference(clausify,[status(thm)],[f_454_2]) ).

fof(f_455_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X)
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_307_inf__sup__aci_I5_J]) ).

fof(f_455_2,plain,
    ! [U_2162] :
      ( ! [U_2161,U_2160] : hAPP(U_2162,U_2162,hAPP(U_2162,fun(U_2162,U_2162),semilattice_sup_sup(U_2162),U_2161),U_2160) = hAPP(U_2162,U_2162,hAPP(U_2162,fun(U_2162,U_2162),semilattice_sup_sup(U_2162),U_2160),U_2161)
      | ~ lattice(U_2162) ),
    inference(variable_rename,[status(thm)],[f_455_1]) ).

cnf(f_455_3,plain,
    ( hAPP(U_2162,U_2162,hAPP(U_2162,fun(U_2162,U_2162),semilattice_sup_sup(U_2162),U_2161),U_2160) = hAPP(U_2162,U_2162,hAPP(U_2162,fun(U_2162,U_2162),semilattice_sup_sup(U_2162),U_2160),U_2161)
    | ~ lattice(U_2162) ),
    inference(clausify,[status(thm)],[f_455_2]) ).

fof(f_456_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_308_sup__commute]) ).

fof(f_456_2,plain,
    ! [U_2165] :
      ( ! [U_2164,U_2163] : hAPP(U_2165,U_2165,hAPP(U_2165,fun(U_2165,U_2165),semilattice_sup_sup(U_2165),U_2164),U_2163) = hAPP(U_2165,U_2165,hAPP(U_2165,fun(U_2165,U_2165),semilattice_sup_sup(U_2165),U_2163),U_2164)
      | ~ semilattice_sup(U_2165) ),
    inference(variable_rename,[status(thm)],[f_456_1]) ).

cnf(f_456_3,plain,
    ( hAPP(U_2165,U_2165,hAPP(U_2165,fun(U_2165,U_2165),semilattice_sup_sup(U_2165),U_2164),U_2163) = hAPP(U_2165,U_2165,hAPP(U_2165,fun(U_2165,U_2165),semilattice_sup_sup(U_2165),U_2163),U_2164)
    | ~ semilattice_sup(U_2165) ),
    inference(clausify,[status(thm)],[f_456_2]) ).

fof(f_457_1,plain,
    ! [X_a] :
      ( ! [A_5,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_309_sup_Oleft__idem]) ).

fof(f_457_2,plain,
    ! [U_2168] :
      ( ! [U_2167,U_2166] : hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),U_2166)) = hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),U_2166)
      | ~ semilattice_sup(U_2168) ),
    inference(variable_rename,[status(thm)],[f_457_1]) ).

cnf(f_457_3,plain,
    ( hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),U_2166)) = hAPP(U_2168,U_2168,hAPP(U_2168,fun(U_2168,U_2168),semilattice_sup_sup(U_2168),U_2167),U_2166)
    | ~ semilattice_sup(U_2168) ),
    inference(clausify,[status(thm)],[f_457_2]) ).

fof(f_458_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_310_inf__sup__aci_I8_J]) ).

fof(f_458_2,plain,
    ! [U_2171] :
      ( ! [U_2170,U_2169] : hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),U_2169)) = hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),U_2169)
      | ~ lattice(U_2171) ),
    inference(variable_rename,[status(thm)],[f_458_1]) ).

cnf(f_458_3,plain,
    ( hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),U_2169)) = hAPP(U_2171,U_2171,hAPP(U_2171,fun(U_2171,U_2171),semilattice_sup_sup(U_2171),U_2170),U_2169)
    | ~ lattice(U_2171) ),
    inference(clausify,[status(thm)],[f_458_2]) ).

fof(f_459_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_311_sup__left__idem]) ).

fof(f_459_2,plain,
    ! [U_2174] :
      ( ! [U_2173,U_2172] : hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),U_2172)) = hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),U_2172)
      | ~ semilattice_sup(U_2174) ),
    inference(variable_rename,[status(thm)],[f_459_1]) ).

cnf(f_459_3,plain,
    ( hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),U_2172)) = hAPP(U_2174,U_2174,hAPP(U_2174,fun(U_2174,U_2174),semilattice_sup_sup(U_2174),U_2173),U_2172)
    | ~ semilattice_sup(U_2174) ),
    inference(clausify,[status(thm)],[f_459_2]) ).

fof(f_460_1,plain,
    ! [X_a] :
      ( ! [B_2,A_5,C_6] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),C_6)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_6))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_312_sup_Oleft__commute]) ).

fof(f_460_2,plain,
    ! [U_2178] :
      ( ! [U_2177,U_2176,U_2175] : hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2177),hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2176),U_2175)) = hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2176),hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2177),U_2175))
      | ~ semilattice_sup(U_2178) ),
    inference(variable_rename,[status(thm)],[f_460_1]) ).

cnf(f_460_3,plain,
    ( hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2177),hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2176),U_2175)) = hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2176),hAPP(U_2178,U_2178,hAPP(U_2178,fun(U_2178,U_2178),semilattice_sup_sup(U_2178),U_2177),U_2175))
    | ~ semilattice_sup(U_2178) ),
    inference(clausify,[status(thm)],[f_460_2]) ).

fof(f_461_1,plain,
    ! [X_a] :
      ( ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Z_2))
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_313_inf__sup__aci_I7_J]) ).

fof(f_461_2,plain,
    ! [U_2182] :
      ( ! [U_2181,U_2180,U_2179] : hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2181),hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2180),U_2179)) = hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2180),hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2181),U_2179))
      | ~ lattice(U_2182) ),
    inference(variable_rename,[status(thm)],[f_461_1]) ).

cnf(f_461_3,plain,
    ( hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2181),hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2180),U_2179)) = hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2180),hAPP(U_2182,U_2182,hAPP(U_2182,fun(U_2182,U_2182),semilattice_sup_sup(U_2182),U_2181),U_2179))
    | ~ lattice(U_2182) ),
    inference(clausify,[status(thm)],[f_461_2]) ).

fof(f_462_1,plain,
    ! [X_a] :
      ( ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Z_2))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_314_sup__left__commute]) ).

fof(f_462_2,plain,
    ! [U_2186] :
      ( ! [U_2185,U_2184,U_2183] : hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2185),hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2184),U_2183)) = hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2184),hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2185),U_2183))
      | ~ semilattice_sup(U_2186) ),
    inference(variable_rename,[status(thm)],[f_462_1]) ).

cnf(f_462_3,plain,
    ( hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2185),hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2184),U_2183)) = hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2184),hAPP(U_2186,U_2186,hAPP(U_2186,fun(U_2186,U_2186),semilattice_sup_sup(U_2186),U_2185),U_2183))
    | ~ semilattice_sup(U_2186) ),
    inference(clausify,[status(thm)],[f_462_2]) ).

fof(f_463_1,plain,
    ! [X_a] :
      ( ! [A_5,B_2,C_6] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),C_6) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_6))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_315_sup_Oassoc]) ).

fof(f_463_2,plain,
    ! [U_2190] :
      ( ! [U_2189,U_2188,U_2187] : hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2189),U_2188)),U_2187) = hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2189),hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2188),U_2187))
      | ~ semilattice_sup(U_2190) ),
    inference(variable_rename,[status(thm)],[f_463_1]) ).

cnf(f_463_3,plain,
    ( hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2189),U_2188)),U_2187) = hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2189),hAPP(U_2190,U_2190,hAPP(U_2190,fun(U_2190,U_2190),semilattice_sup_sup(U_2190),U_2188),U_2187))
    | ~ semilattice_sup(U_2190) ),
    inference(clausify,[status(thm)],[f_463_2]) ).

fof(f_464_1,plain,
    ! [X_a] :
      ( ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)),Z_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2))
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_316_inf__sup__aci_I6_J]) ).

fof(f_464_2,plain,
    ! [U_2194] :
      ( ! [U_2193,U_2192,U_2191] : hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2193),U_2192)),U_2191) = hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2193),hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2192),U_2191))
      | ~ lattice(U_2194) ),
    inference(variable_rename,[status(thm)],[f_464_1]) ).

cnf(f_464_3,plain,
    ( hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2193),U_2192)),U_2191) = hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2193),hAPP(U_2194,U_2194,hAPP(U_2194,fun(U_2194,U_2194),semilattice_sup_sup(U_2194),U_2192),U_2191))
    | ~ lattice(U_2194) ),
    inference(clausify,[status(thm)],[f_464_2]) ).

fof(f_465_1,plain,
    ! [X_a] :
      ( ! [X,Y,Z_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)),Z_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_317_sup__assoc]) ).

fof(f_465_2,plain,
    ! [U_2198] :
      ( ! [U_2197,U_2196,U_2195] : hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2197),U_2196)),U_2195) = hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2197),hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2196),U_2195))
      | ~ semilattice_sup(U_2198) ),
    inference(variable_rename,[status(thm)],[f_465_1]) ).

cnf(f_465_3,plain,
    ( hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2197),U_2196)),U_2195) = hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2197),hAPP(U_2198,U_2198,hAPP(U_2198,fun(U_2198,U_2198),semilattice_sup_sup(U_2198),U_2196),U_2195))
    | ~ semilattice_sup(U_2198) ),
    inference(clausify,[status(thm)],[f_465_2]) ).

fof(f_466_1,plain,
    ! [Va,F_1,D_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_318_red__reds_OFAssRed2]) ).

fof(f_466_2,plain,
    ! [U_2206,U_2205,U_2204,U_2203,U_2202,U_2201,U_2200,U_2199] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2206)),U_2205),U_2204),U_2203)),U_2202)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2206)),U_2205),U_2204),U_2201)),U_2200))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2199)))
      | ~ 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)))),U_2203),U_2202)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2201),U_2200))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2199))) ),
    inference(variable_rename,[status(thm)],[f_466_1]) ).

cnf(f_466_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2206)),U_2205),U_2204),U_2203)),U_2202)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2206)),U_2205),U_2204),U_2201)),U_2200))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2199)))
    | ~ 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)))),U_2203),U_2202)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2201),U_2200))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2199))) ),
    inference(clausify,[status(thm)],[f_466_2]) ).

fof(f_467_1,plain,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_b),F_1),D_2),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_319_FAssReds1]) ).

fof(f_467_2,plain,
    ! [U_2214,U_2213,U_2212,U_2211,U_2210,U_2209,U_2208,U_2207] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2211),U_2214),U_2213),U_2212)),U_2210)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2209),U_2214),U_2213),U_2212)),U_2208))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2207))))
      | ~ 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)))),U_2211),U_2210)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2209),U_2208))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2207)))) ),
    inference(variable_rename,[status(thm)],[f_467_1]) ).

cnf(f_467_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2211),U_2214),U_2213),U_2212)),U_2210)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2209),U_2214),U_2213),U_2212)),U_2208))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2207))))
    | ~ 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)))),U_2211),U_2210)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2209),U_2208))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2207)))) ),
    inference(clausify,[status(thm)],[f_467_2]) ).

fof(f_468_1,plain,
    ! [Va,F_1,D_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_320_FAssReds2]) ).

fof(f_468_2,plain,
    ! [U_2222,U_2221,U_2220,U_2219,U_2218,U_2217,U_2216,U_2215] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2222)),U_2221),U_2220),U_2219)),U_2218)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2222)),U_2221),U_2220),U_2217)),U_2216))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2215))))
      | ~ 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)))),U_2219),U_2218)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2217),U_2216))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2215)))) ),
    inference(variable_rename,[status(thm)],[f_468_1]) ).

cnf(f_468_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2222)),U_2221),U_2220),U_2219)),U_2218)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2222)),U_2221),U_2220),U_2217)),U_2216))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2215))))
    | ~ 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)))),U_2219),U_2218)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2217),U_2216))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2215)))) ),
    inference(clausify,[status(thm)],[f_468_2]) ).

fof(f_469_1,plain,
    ! [H_2_1,Fs_2,F_1,D_2,C_1,Fs,E_2,Va,H_2,L_2,Pa,E_1_1,S_0,A_1,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2_1),L_2)))
      | H_2_1 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),H_2),A_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_2)))
      | Fs_2 != hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),Va)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_321_FAss]) ).

fof(f_469_2,plain,
    ! [U_2237,U_2236,U_2235,U_2234,U_2233,U_2232,U_2231,U_2230,U_2229,U_2228,U_2227,U_2226,U_2225,U_2224,U_2223] :
      ( 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,U_2227),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2226),U_2235),U_2234),U_2231)),U_2225),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_2237),U_2228)))
      | U_2237 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2229),U_2224),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))),U_2233),U_2236)))
      | U_2236 != hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2232),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2235),U_2234)),hAPP(val,option(val),some(val),U_2230))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2229,U_2224) != 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))),U_2233),U_2232))
      | ~ 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,U_2227),U_2231),U_2223),hAPP(val,exp(list(char)),val_1(list(char)),U_2230)),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))),U_2229),U_2228)))
      | ~ 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,U_2227),U_2226),U_2225),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2224))),U_2223)) ),
    inference(variable_rename,[status(thm)],[f_469_1]) ).

cnf(f_469_3,plain,
    ( 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,U_2227),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2226),U_2235),U_2234),U_2231)),U_2225),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_2237),U_2228)))
    | U_2237 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2229),U_2224),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))),U_2233),U_2236)))
    | U_2236 != hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2232),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2235),U_2234)),hAPP(val,option(val),some(val),U_2230))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2229,U_2224) != 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))),U_2233),U_2232))
    | ~ 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,U_2227),U_2231),U_2223),hAPP(val,exp(list(char)),val_1(list(char)),U_2230)),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))),U_2229),U_2228)))
    | ~ 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,U_2227),U_2226),U_2225),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2224))),U_2223)) ),
    inference(clausify,[status(thm)],[f_469_2]) ).

fof(f_470_1,plain,
    ! [Pa,F_1,D_2,Va,Lb,Hb,A_1,C_1,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),Lb)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)) ),
    inference(fof_nnf,[status(thm)],[fact_322_redp__redsp_ORedFAss]) ).

fof(f_470_2,plain,
    ! [U_2246,U_2245,U_2244,U_2243,U_2242,U_2241,U_2240,U_2239,U_2238] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2246),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2240))),U_2245),U_2244),hAPP(val,exp(list(char)),val_1(list(char)),U_2243))),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))),U_2241),U_2242)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2241),U_2240),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))),U_2239),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2238),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2245),U_2244)),hAPP(val,option(val),some(val),U_2243)))))),U_2242)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2241,U_2240) != 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))),U_2239),U_2238)) ),
    inference(variable_rename,[status(thm)],[f_470_1]) ).

cnf(f_470_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2246),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2240))),U_2245),U_2244),hAPP(val,exp(list(char)),val_1(list(char)),U_2243))),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))),U_2241),U_2242)),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2241),U_2240),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))),U_2239),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2238),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2245),U_2244)),hAPP(val,option(val),some(val),U_2243)))))),U_2242)))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2241,U_2240) != 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))),U_2239),U_2238)) ),
    inference(clausify,[status(thm)],[f_470_2]) ).

fof(f_471_1,plain,
    ! [F_1,D_2,Va,Lb,Pa,Hb,A_1,C_1,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),Fs),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),hAPP(val,option(val),some(val),Va)))))),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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)) ),
    inference(fof_nnf,[status(thm)],[fact_323_red__reds_ORedFAss]) ).

fof(f_471_2,plain,
    ! [U_2255,U_2254,U_2253,U_2252,U_2251,U_2250,U_2249,U_2248,U_2247] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2249))),U_2255),U_2254),hAPP(val,exp(list(char)),val_1(list(char)),U_2253))),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))),U_2250),U_2252))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2250),U_2249),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))),U_2248),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2247),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2255),U_2254)),hAPP(val,option(val),some(val),U_2253)))))),U_2252)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2251)))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2250,U_2249) != 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))),U_2248),U_2247)) ),
    inference(variable_rename,[status(thm)],[f_471_1]) ).

cnf(f_471_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2249))),U_2255),U_2254),hAPP(val,exp(list(char)),val_1(list(char)),U_2253))),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))),U_2250),U_2252))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_2250),U_2249),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))),U_2248),hAPP(option(val),fun(product_prod(list(char),list(char)),option(val)),hAPP(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val))),hAPP(fun(product_prod(list(char),list(char)),option(val)),fun(product_prod(list(char),list(char)),fun(option(val),fun(product_prod(list(char),list(char)),option(val)))),fun_upd(product_prod(list(char),list(char)),option(val)),U_2247),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2255),U_2254)),hAPP(val,option(val),some(val),U_2253)))))),U_2252)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2251)))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2250,U_2249) != 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))),U_2248),U_2247)) ),
    inference(clausify,[status(thm)],[f_471_2]) ).

fof(f_472_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)))
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_324_inf__sup__ord_I3_J]) ).

fof(f_472_2,plain,
    ! [U_2258] :
      ( ! [U_2257,U_2256] : hBOOL(hAPP(U_2258,bool,hAPP(U_2258,fun(U_2258,bool),ord_less_eq(U_2258),U_2257),hAPP(U_2258,U_2258,hAPP(U_2258,fun(U_2258,U_2258),semilattice_sup_sup(U_2258),U_2257),U_2256)))
      | ~ lattice(U_2258) ),
    inference(variable_rename,[status(thm)],[f_472_1]) ).

cnf(f_472_3,plain,
    ( hBOOL(hAPP(U_2258,bool,hAPP(U_2258,fun(U_2258,bool),ord_less_eq(U_2258),U_2257),hAPP(U_2258,U_2258,hAPP(U_2258,fun(U_2258,U_2258),semilattice_sup_sup(U_2258),U_2257),U_2256)))
    | ~ lattice(U_2258) ),
    inference(clausify,[status(thm)],[f_472_2]) ).

fof(f_473_1,plain,
    ! [X_a] :
      ( ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_325_sup__ge1]) ).

fof(f_473_2,plain,
    ! [U_2261] :
      ( ! [U_2260,U_2259] : hBOOL(hAPP(U_2261,bool,hAPP(U_2261,fun(U_2261,bool),ord_less_eq(U_2261),U_2260),hAPP(U_2261,U_2261,hAPP(U_2261,fun(U_2261,U_2261),semilattice_sup_sup(U_2261),U_2260),U_2259)))
      | ~ semilattice_sup(U_2261) ),
    inference(variable_rename,[status(thm)],[f_473_1]) ).

cnf(f_473_3,plain,
    ( hBOOL(hAPP(U_2261,bool,hAPP(U_2261,fun(U_2261,bool),ord_less_eq(U_2261),U_2260),hAPP(U_2261,U_2261,hAPP(U_2261,fun(U_2261,U_2261),semilattice_sup_sup(U_2261),U_2260),U_2259)))
    | ~ semilattice_sup(U_2261) ),
    inference(clausify,[status(thm)],[f_473_2]) ).

fof(f_474_1,plain,
    ! [X_a] :
      ( ! [Y,X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)))
      | ~ lattice(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_326_inf__sup__ord_I4_J]) ).

fof(f_474_2,plain,
    ! [U_2264] :
      ( ! [U_2263,U_2262] : hBOOL(hAPP(U_2264,bool,hAPP(U_2264,fun(U_2264,bool),ord_less_eq(U_2264),U_2263),hAPP(U_2264,U_2264,hAPP(U_2264,fun(U_2264,U_2264),semilattice_sup_sup(U_2264),U_2262),U_2263)))
      | ~ lattice(U_2264) ),
    inference(variable_rename,[status(thm)],[f_474_1]) ).

cnf(f_474_3,plain,
    ( hBOOL(hAPP(U_2264,bool,hAPP(U_2264,fun(U_2264,bool),ord_less_eq(U_2264),U_2263),hAPP(U_2264,U_2264,hAPP(U_2264,fun(U_2264,U_2264),semilattice_sup_sup(U_2264),U_2262),U_2263)))
    | ~ lattice(U_2264) ),
    inference(clausify,[status(thm)],[f_474_2]) ).

fof(f_475_1,plain,
    ! [X_a] :
      ( ! [Y,X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y)))
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_327_sup__ge2]) ).

fof(f_475_2,plain,
    ! [U_2267] :
      ( ! [U_2266,U_2265] : hBOOL(hAPP(U_2267,bool,hAPP(U_2267,fun(U_2267,bool),ord_less_eq(U_2267),U_2266),hAPP(U_2267,U_2267,hAPP(U_2267,fun(U_2267,U_2267),semilattice_sup_sup(U_2267),U_2265),U_2266)))
      | ~ semilattice_sup(U_2267) ),
    inference(variable_rename,[status(thm)],[f_475_1]) ).

cnf(f_475_3,plain,
    ( hBOOL(hAPP(U_2267,bool,hAPP(U_2267,fun(U_2267,bool),ord_less_eq(U_2267),U_2266),hAPP(U_2267,U_2267,hAPP(U_2267,fun(U_2267,U_2267),semilattice_sup_sup(U_2267),U_2265),U_2266)))
    | ~ semilattice_sup(U_2267) ),
    inference(clausify,[status(thm)],[f_475_2]) ).

fof(f_476_1,plain,
    ! [X_a] :
      ( ! [X_1,Y_1] :
          ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            | hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1) != ti(X_a,Y_1) )
          & ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1) = ti(X_a,Y_1)
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1)) ) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_328_le__iff__sup]) ).

fof(f_476_2,plain,
    ! [U_2270] :
      ( ! [U_2269,U_2268] :
          ( ( hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2269),U_2268))
            | hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2269),U_2268) != ti(U_2270,U_2268) )
          & ( hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2269),U_2268) = ti(U_2270,U_2268)
            | ~ hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2269),U_2268)) ) )
      | ~ semilattice_sup(U_2270) ),
    inference(variable_rename,[status(thm)],[f_476_1]) ).

fof(f_476_3,plain,
    ! [U_2270] :
      ( ( ! [U_2274,U_2272] :
            ( hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2274),U_2272))
            | hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2274),U_2272) != ti(U_2270,U_2272) )
        & ! [U_2273,U_2271] :
            ( hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2273),U_2271) = ti(U_2270,U_2271)
            | ~ hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2273),U_2271)) ) )
      | ~ semilattice_sup(U_2270) ),
    inference(miniscope,[status(thm)],[f_476_2]) ).

cnf(f_476_4,plain,
    ( hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2273),U_2271) = ti(U_2270,U_2271)
    | ~ hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2273),U_2271))
    | ~ semilattice_sup(U_2270) ),
    inference(clausify,[status(thm)],[f_476_3]) ).

cnf(f_476_5,plain,
    ( hBOOL(hAPP(U_2270,bool,hAPP(U_2270,fun(U_2270,bool),ord_less_eq(U_2270),U_2274),U_2272))
    | hAPP(U_2270,U_2270,hAPP(U_2270,fun(U_2270,U_2270),semilattice_sup_sup(U_2270),U_2274),U_2272) != ti(U_2270,U_2272)
    | ~ semilattice_sup(U_2270) ),
    inference(clausify,[status(thm)],[f_476_3]) ).

fof(f_477_1,plain,
    ! [X_a] :
      ( ! [X_1,Y_1,Z_1] :
          ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1)),Z_1))
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),Z_1))
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_1)) )
          & ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),Z_1))
              & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_1)) )
            | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y_1)),Z_1)) ) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_329_le__sup__iff]) ).

fof(f_477_2,plain,
    ! [U_2278] :
      ( ! [U_2277,U_2276,U_2275] :
          ( ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2277),U_2276)),U_2275))
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2276),U_2275))
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2277),U_2275)) )
          & ( ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2276),U_2275))
              & hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2277),U_2275)) )
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2277),U_2276)),U_2275)) ) )
      | ~ semilattice_sup(U_2278) ),
    inference(variable_rename,[status(thm)],[f_477_1]) ).

fof(f_477_3,plain,
    ! [U_2278] :
      ( ( ! [U_2284,U_2282,U_2280] :
            ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2284),U_2282)),U_2280))
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2282),U_2280))
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2284),U_2280)) )
        & ! [U_2283,U_2281,U_2279] :
            ( ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2281),U_2279))
              & hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2283),U_2279)) )
            | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2283),U_2281)),U_2279)) ) )
      | ~ semilattice_sup(U_2278) ),
    inference(miniscope,[status(thm)],[f_477_2]) ).

cnf(f_477_4,plain,
    ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2283),U_2279))
    | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2283),U_2281)),U_2279))
    | ~ semilattice_sup(U_2278) ),
    inference(clausify,[status(thm)],[f_477_3]) ).

cnf(f_477_5,plain,
    ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2281),U_2279))
    | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2283),U_2281)),U_2279))
    | ~ semilattice_sup(U_2278) ),
    inference(clausify,[status(thm)],[f_477_3]) ).

cnf(f_477_6,plain,
    ( hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),hAPP(U_2278,U_2278,hAPP(U_2278,fun(U_2278,U_2278),semilattice_sup_sup(U_2278),U_2284),U_2282)),U_2280))
    | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2282),U_2280))
    | ~ hBOOL(hAPP(U_2278,bool,hAPP(U_2278,fun(U_2278,bool),ord_less_eq(U_2278),U_2284),U_2280))
    | ~ semilattice_sup(U_2278) ),
    inference(clausify,[status(thm)],[f_477_3]) ).

fof(f_478_1,plain,
    ! [X_a] :
      ( ! [B_2,X,A_5] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_5)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_330_le__supI1]) ).

fof(f_478_2,plain,
    ! [U_2288] :
      ( ! [U_2287,U_2286,U_2285] :
          ( hBOOL(hAPP(U_2288,bool,hAPP(U_2288,fun(U_2288,bool),ord_less_eq(U_2288),U_2286),hAPP(U_2288,U_2288,hAPP(U_2288,fun(U_2288,U_2288),semilattice_sup_sup(U_2288),U_2285),U_2287)))
          | ~ hBOOL(hAPP(U_2288,bool,hAPP(U_2288,fun(U_2288,bool),ord_less_eq(U_2288),U_2286),U_2285)) )
      | ~ semilattice_sup(U_2288) ),
    inference(variable_rename,[status(thm)],[f_478_1]) ).

cnf(f_478_3,plain,
    ( hBOOL(hAPP(U_2288,bool,hAPP(U_2288,fun(U_2288,bool),ord_less_eq(U_2288),U_2286),hAPP(U_2288,U_2288,hAPP(U_2288,fun(U_2288,U_2288),semilattice_sup_sup(U_2288),U_2285),U_2287)))
    | ~ hBOOL(hAPP(U_2288,bool,hAPP(U_2288,fun(U_2288,bool),ord_less_eq(U_2288),U_2286),U_2285))
    | ~ semilattice_sup(U_2288) ),
    inference(clausify,[status(thm)],[f_478_2]) ).

fof(f_479_1,plain,
    ! [X_a] :
      ( ! [A_5,X,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B_2)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_331_le__supI2]) ).

fof(f_479_2,plain,
    ! [U_2292] :
      ( ! [U_2291,U_2290,U_2289] :
          ( hBOOL(hAPP(U_2292,bool,hAPP(U_2292,fun(U_2292,bool),ord_less_eq(U_2292),U_2290),hAPP(U_2292,U_2292,hAPP(U_2292,fun(U_2292,U_2292),semilattice_sup_sup(U_2292),U_2291),U_2289)))
          | ~ hBOOL(hAPP(U_2292,bool,hAPP(U_2292,fun(U_2292,bool),ord_less_eq(U_2292),U_2290),U_2289)) )
      | ~ semilattice_sup(U_2292) ),
    inference(variable_rename,[status(thm)],[f_479_1]) ).

cnf(f_479_3,plain,
    ( hBOOL(hAPP(U_2292,bool,hAPP(U_2292,fun(U_2292,bool),ord_less_eq(U_2292),U_2290),hAPP(U_2292,U_2292,hAPP(U_2292,fun(U_2292,U_2292),semilattice_sup_sup(U_2292),U_2291),U_2289)))
    | ~ hBOOL(hAPP(U_2292,bool,hAPP(U_2292,fun(U_2292,bool),ord_less_eq(U_2292),U_2290),U_2289))
    | ~ semilattice_sup(U_2292) ),
    inference(clausify,[status(thm)],[f_479_2]) ).

fof(f_480_1,plain,
    ! [X_a] :
      ( ! [X,Y] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = ti(X_a,Y)
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_332_sup__absorb2]) ).

fof(f_480_2,plain,
    ! [U_2295] :
      ( ! [U_2294,U_2293] :
          ( hAPP(U_2295,U_2295,hAPP(U_2295,fun(U_2295,U_2295),semilattice_sup_sup(U_2295),U_2294),U_2293) = ti(U_2295,U_2293)
          | ~ hBOOL(hAPP(U_2295,bool,hAPP(U_2295,fun(U_2295,bool),ord_less_eq(U_2295),U_2294),U_2293)) )
      | ~ semilattice_sup(U_2295) ),
    inference(variable_rename,[status(thm)],[f_480_1]) ).

cnf(f_480_3,plain,
    ( hAPP(U_2295,U_2295,hAPP(U_2295,fun(U_2295,U_2295),semilattice_sup_sup(U_2295),U_2294),U_2293) = ti(U_2295,U_2293)
    | ~ hBOOL(hAPP(U_2295,bool,hAPP(U_2295,fun(U_2295,bool),ord_less_eq(U_2295),U_2294),U_2293))
    | ~ semilattice_sup(U_2295) ),
    inference(clausify,[status(thm)],[f_480_2]) ).

fof(f_481_1,plain,
    ! [X_a] :
      ( ! [Y,X] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X),Y) = ti(X_a,X)
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_333_sup__absorb1]) ).

fof(f_481_2,plain,
    ! [U_2298] :
      ( ! [U_2297,U_2296] :
          ( hAPP(U_2298,U_2298,hAPP(U_2298,fun(U_2298,U_2298),semilattice_sup_sup(U_2298),U_2296),U_2297) = ti(U_2298,U_2296)
          | ~ hBOOL(hAPP(U_2298,bool,hAPP(U_2298,fun(U_2298,bool),ord_less_eq(U_2298),U_2297),U_2296)) )
      | ~ semilattice_sup(U_2298) ),
    inference(variable_rename,[status(thm)],[f_481_1]) ).

cnf(f_481_3,plain,
    ( hAPP(U_2298,U_2298,hAPP(U_2298,fun(U_2298,U_2298),semilattice_sup_sup(U_2298),U_2296),U_2297) = ti(U_2298,U_2296)
    | ~ hBOOL(hAPP(U_2298,bool,hAPP(U_2298,fun(U_2298,bool),ord_less_eq(U_2298),U_2297),U_2296))
    | ~ semilattice_sup(U_2298) ),
    inference(clausify,[status(thm)],[f_481_2]) ).

fof(f_482_1,plain,
    ! [X_a] :
      ( ! [B_2,A_5,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_5),B_2)),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_5),X)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_334_le__supI]) ).

fof(f_482_2,plain,
    ! [U_2302] :
      ( ! [U_2301,U_2300,U_2299] :
          ( hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),hAPP(U_2302,U_2302,hAPP(U_2302,fun(U_2302,U_2302),semilattice_sup_sup(U_2302),U_2300),U_2301)),U_2299))
          | ~ hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),U_2301),U_2299))
          | ~ hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),U_2300),U_2299)) )
      | ~ semilattice_sup(U_2302) ),
    inference(variable_rename,[status(thm)],[f_482_1]) ).

cnf(f_482_3,plain,
    ( hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),hAPP(U_2302,U_2302,hAPP(U_2302,fun(U_2302,U_2302),semilattice_sup_sup(U_2302),U_2300),U_2301)),U_2299))
    | ~ hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),U_2301),U_2299))
    | ~ hBOOL(hAPP(U_2302,bool,hAPP(U_2302,fun(U_2302,bool),ord_less_eq(U_2302),U_2300),U_2299))
    | ~ semilattice_sup(U_2302) ),
    inference(clausify,[status(thm)],[f_482_2]) ).

fof(f_483_1,plain,
    ! [X_a] :
      ( ! [Z_2,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_2)),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),X))
          | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) )
      | ~ semilattice_sup(X_a) ),
    inference(fof_nnf,[status(thm)],[fact_335_sup__least]) ).

fof(f_483_2,plain,
    ! [U_2306] :
      ( ! [U_2305,U_2304,U_2303] :
          ( hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),hAPP(U_2306,U_2306,hAPP(U_2306,fun(U_2306,U_2306),semilattice_sup_sup(U_2306),U_2304),U_2305)),U_2303))
          | ~ hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),U_2305),U_2303))
          | ~ hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),U_2304),U_2303)) )
      | ~ semilattice_sup(U_2306) ),
    inference(variable_rename,[status(thm)],[f_483_1]) ).

cnf(f_483_3,plain,
    ( hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),hAPP(U_2306,U_2306,hAPP(U_2306,fun(U_2306,U_2306),semilattice_sup_sup(U_2306),U_2304),U_2305)),U_2303))
    | ~ hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),U_2305),U_2303))
    | ~ hBOOL(hAPP(U_2306,bool,hAPP(U_2306,fun(U_2306,bool),ord_less_eq(U_2306),U_2304),U_2303))
    | ~ semilattice_sup(U_2306) ),
    inference(clausify,[status(thm)],[f_483_2]) ).

fof(f_484_1,plain,
    ! [F_1,D_2,Va,C_1,Fs,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) != hAPP(val,option(val),some(val),Va)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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))
      | ~ 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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_336_FAccRedsVal]) ).

fof(f_484_2,plain,
    ! [U_2316,U_2315,U_2314,U_2313,U_2312,U_2311,U_2310,U_2309,U_2308,U_2307] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2311),U_2316),U_2315)),U_2310)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2314)),U_2308))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2307))))
      | hAPP(product_prod(list(char),list(char)),option(val),U_2312,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2316),U_2315)) != hAPP(val,option(val),some(val),U_2314)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2308),U_2309) != 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))),U_2313),U_2312))
      | ~ 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)))),U_2311),U_2310)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2309))),U_2308))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2307)))) ),
    inference(variable_rename,[status(thm)],[f_484_1]) ).

cnf(f_484_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2311),U_2316),U_2315)),U_2310)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2314)),U_2308))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2307))))
    | hAPP(product_prod(list(char),list(char)),option(val),U_2312,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2316),U_2315)) != hAPP(val,option(val),some(val),U_2314)
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2308),U_2309) != 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))),U_2313),U_2312))
    | ~ 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)))),U_2311),U_2310)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2309))),U_2308))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2307)))) ),
    inference(clausify,[status(thm)],[f_484_2]) ).

fof(f_485_1,plain,
    ! [Pa,F_1,D_2,Va,S,A_1,C_1,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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)))
      | hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) != hAPP(val,option(val),some(val),Va)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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)) ),
    inference(fof_nnf,[status(thm)],[fact_337_red__reds_ORedFAcc]) ).

fof(f_485_2,plain,
    ! [U_2324,U_2323,U_2322,U_2321,U_2320,U_2319,U_2318,U_2317] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2319))),U_2323),U_2322)),U_2320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2321)),U_2320))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2324)))
      | hAPP(product_prod(list(char),list(char)),option(val),U_2317,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2323),U_2322)) != hAPP(val,option(val),some(val),U_2321)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2320),U_2319) != 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))),U_2318),U_2317)) ),
    inference(variable_rename,[status(thm)],[f_485_1]) ).

cnf(f_485_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2319))),U_2323),U_2322)),U_2320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2321)),U_2320))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2324)))
    | hAPP(product_prod(list(char),list(char)),option(val),U_2317,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2323),U_2322)) != hAPP(val,option(val),some(val),U_2321)
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2320),U_2319) != 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))),U_2318),U_2317)) ),
    inference(clausify,[status(thm)],[f_485_2]) ).

fof(f_486_1,plain,
    ! [Pa,F_1,D_2,Va,S,A_1,C_1,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),F_1),D_2)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S))
      | hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) != hAPP(val,option(val),some(val),Va)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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)) ),
    inference(fof_nnf,[status(thm)],[fact_338_redp__redsp_ORedFAcc]) ).

fof(f_486_2,plain,
    ! [U_2332,U_2331,U_2330,U_2329,U_2328,U_2327,U_2326,U_2325] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2332),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2327))),U_2331),U_2330)),U_2328),hAPP(val,exp(list(char)),val_1(list(char)),U_2329)),U_2328))
      | hAPP(product_prod(list(char),list(char)),option(val),U_2325,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2331),U_2330)) != hAPP(val,option(val),some(val),U_2329)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2328),U_2327) != 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))),U_2326),U_2325)) ),
    inference(variable_rename,[status(thm)],[f_486_1]) ).

cnf(f_486_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2332),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2327))),U_2331),U_2330)),U_2328),hAPP(val,exp(list(char)),val_1(list(char)),U_2329)),U_2328))
    | hAPP(product_prod(list(char),list(char)),option(val),U_2325,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2331),U_2330)) != hAPP(val,option(val),some(val),U_2329)
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_2328),U_2327) != 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))),U_2326),U_2325)) ),
    inference(clausify,[status(thm)],[f_486_2]) ).

fof(f_487_1,plain,
    ! [F_1,D_2,Va,C_1,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),Hb),Lb)))
      | hAPP(product_prod(list(char),list(char)),option(val),Fs,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)) != hAPP(val,option(val),some(val),Va)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
      | ~ 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))) ),
    inference(fof_nnf,[status(thm)],[fact_339_FAcc]) ).

fof(f_487_2,plain,
    ! [U_2343,U_2342,U_2341,U_2340,U_2339,U_2338,U_2337,U_2336,U_2335,U_2334,U_2333] :
      ( 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,U_2338),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2337),U_2343),U_2342)),U_2336),hAPP(val,exp(list(char)),val_1(list(char)),U_2341)),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))),U_2334),U_2333)))
      | hAPP(product_prod(list(char),list(char)),option(val),U_2339,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2343),U_2342)) != hAPP(val,option(val),some(val),U_2341)
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2334,U_2335) != 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))),U_2340),U_2339))
      | ~ 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,U_2338),U_2337),U_2336),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2335))),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))),U_2334),U_2333))) ),
    inference(variable_rename,[status(thm)],[f_487_1]) ).

cnf(f_487_3,plain,
    ( 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,U_2338),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2337),U_2343),U_2342)),U_2336),hAPP(val,exp(list(char)),val_1(list(char)),U_2341)),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))),U_2334),U_2333)))
    | hAPP(product_prod(list(char),list(char)),option(val),U_2339,hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2343),U_2342)) != hAPP(val,option(val),some(val),U_2341)
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2334,U_2335) != 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))),U_2340),U_2339))
    | ~ 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,U_2338),U_2337),U_2336),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2335))),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))),U_2334),U_2333))) ),
    inference(clausify,[status(thm)],[f_487_2]) ).

fof(f_488_1,plain,
    ! [Va_1,Ta,Va,A_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_340_red__reds_OInitBlockThrow]) ).

fof(f_488_2,plain,
    ! [U_2349,U_2348,U_2347,U_2346,U_2345,U_2344] : 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2349),U_2348),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2349),hAPP(val,exp(list(char)),val_1(list(char)),U_2347))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2346)))))),U_2345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2346)))),U_2345))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2344))),
    inference(variable_rename,[status(thm)],[f_488_1]) ).

cnf(f_488_3,plain,
    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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2349),U_2348),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2349),hAPP(val,exp(list(char)),val_1(list(char)),U_2347))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2346)))))),U_2345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2346)))),U_2345))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2344))),
    inference(clausify,[status(thm)],[f_488_2]) ).

fof(f_489_1,plain,
    ! [X_a,A_1,B,Pa,Q_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa)))
      | ? [X_2,Y_2] :
          ( ti(X_a,Y_2) != ti(X_a,X_2)
          & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),X_2)),Q_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_2),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa))) )
      | ~ 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_1),B)),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),Pa),Q_1)))) ),
    inference(fof_nnf,[status(thm)],[fact_341_rtrancl__Un__separator__converseE]) ).

fof(f_489_2,plain,
    ! [U_2356,U_2355,U_2354,U_2353,U_2352] :
      ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
      | ? [U_2351,U_2350] :
          ( ti(U_2356,U_2350) != ti(U_2356,U_2351)
          & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2350),U_2351)),U_2352))
          & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2351),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(variable_rename,[status(thm)],[f_489_1]) ).

fof(f_489_3,plain,
    ! [U_2356,U_2355,U_2354,U_2353,U_2352] :
      ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
      | ? [U_2351] :
          ( ? [U_2350] :
              ( ti(U_2356,U_2350) != ti(U_2356,U_2351)
              & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2350),U_2351)),U_2352)) )
          & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2351),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(miniscope,[status(thm)],[f_489_2]) ).

fof(f_489_4,plain,
    ! [U_2356,U_2355,U_2354,U_2353,U_2352] :
      ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
      | ( ? [U_2350] :
            ( ti(U_2356,U_2350) != ti(U_2356,sK122(U_2356,U_2355,U_2354,U_2353,U_2352))
            & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2350),sK122(U_2356,U_2355,U_2354,U_2353,U_2352))),U_2352)) )
        & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),sK122(U_2356,U_2355,U_2354,U_2353,U_2352)),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK122]),skolemize(U_2351,sK122(U_2356,U_2355,U_2354,U_2353,U_2352))],[f_489_3]) ).

fof(f_489_5,plain,
    ! [U_2356,U_2355,U_2354,U_2353,U_2352] :
      ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
      | ( ti(U_2356,sK123(U_2356,U_2355,U_2354,U_2353,U_2352)) != ti(U_2356,sK122(U_2356,U_2355,U_2354,U_2353,U_2352))
        & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),sK123(U_2356,U_2355,U_2354,U_2353,U_2352)),sK122(U_2356,U_2355,U_2354,U_2353,U_2352))),U_2352))
        & hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),sK122(U_2356,U_2355,U_2354,U_2353,U_2352)),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK123]),skolemize(U_2350,sK123(U_2356,U_2355,U_2354,U_2353,U_2352))],[f_489_4]) ).

cnf(f_489_6,plain,
    ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),sK122(U_2356,U_2355,U_2354,U_2353,U_2352)),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
    | hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(clausify,[status(thm)],[f_489_5]) ).

cnf(f_489_7,plain,
    ( hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),sK123(U_2356,U_2355,U_2354,U_2353,U_2352)),sK122(U_2356,U_2355,U_2354,U_2353,U_2352))),U_2352))
    | hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(clausify,[status(thm)],[f_489_5]) ).

cnf(f_489_8,plain,
    ( ti(U_2356,sK123(U_2356,U_2355,U_2354,U_2353,U_2352)) != ti(U_2356,sK122(U_2356,U_2355,U_2354,U_2353,U_2352))
    | hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),U_2353)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2356,U_2356),bool),bool,hAPP(product_prod(U_2356,U_2356),fun(fun(product_prod(U_2356,U_2356),bool),bool),member(product_prod(U_2356,U_2356)),hAPP(U_2356,product_prod(U_2356,U_2356),hAPP(U_2356,fun(U_2356,product_prod(U_2356,U_2356)),product_Pair(U_2356,U_2356),U_2355),U_2354)),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),transitive_rtrancl(U_2356),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool),hAPP(fun(product_prod(U_2356,U_2356),bool),fun(fun(product_prod(U_2356,U_2356),bool),fun(product_prod(U_2356,U_2356),bool)),semilattice_sup_sup(fun(product_prod(U_2356,U_2356),bool)),U_2353),U_2352)))) ),
    inference(clausify,[status(thm)],[f_489_5]) ).

fof(f_490_1,plain,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1))
      | hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_342_sup2E]) ).

fof(f_490_2,plain,
    ! [U_2362,U_2361,U_2360,U_2359,U_2358,U_2357] :
      ( hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),U_2359,U_2358),U_2357))
      | hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),U_2360,U_2358),U_2357))
      | ~ hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),hAPP(fun(U_2361,fun(U_2362,bool)),fun(U_2361,fun(U_2362,bool)),hAPP(fun(U_2361,fun(U_2362,bool)),fun(fun(U_2361,fun(U_2362,bool)),fun(U_2361,fun(U_2362,bool))),semilattice_sup_sup(fun(U_2361,fun(U_2362,bool))),U_2360),U_2359),U_2358),U_2357)) ),
    inference(variable_rename,[status(thm)],[f_490_1]) ).

cnf(f_490_3,plain,
    ( hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),U_2359,U_2358),U_2357))
    | hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),U_2360,U_2358),U_2357))
    | ~ hBOOL(hAPP(U_2362,bool,hAPP(U_2361,fun(U_2362,bool),hAPP(fun(U_2361,fun(U_2362,bool)),fun(U_2361,fun(U_2362,bool)),hAPP(fun(U_2361,fun(U_2362,bool)),fun(fun(U_2361,fun(U_2362,bool)),fun(U_2361,fun(U_2362,bool))),semilattice_sup_sup(fun(U_2361,fun(U_2362,bool))),U_2360),U_2359),U_2358),U_2357)) ),
    inference(clausify,[status(thm)],[f_490_2]) ).

fof(f_491_1,plain,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1))
      | ( ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1))
        & ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_343_sup2CI]) ).

fof(f_491_2,plain,
    ! [U_2368,U_2367,U_2366,U_2365,U_2364,U_2363] :
      ( hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),hAPP(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool)),hAPP(fun(U_2367,fun(U_2368,bool)),fun(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool))),semilattice_sup_sup(fun(U_2367,fun(U_2368,bool))),U_2366),U_2365),U_2364),U_2363))
      | ( ~ hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),U_2366,U_2364),U_2363))
        & ~ hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),U_2365,U_2364),U_2363)) ) ),
    inference(variable_rename,[status(thm)],[f_491_1]) ).

cnf(f_491_3,plain,
    ( ~ hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),U_2365,U_2364),U_2363))
    | hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),hAPP(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool)),hAPP(fun(U_2367,fun(U_2368,bool)),fun(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool))),semilattice_sup_sup(fun(U_2367,fun(U_2368,bool))),U_2366),U_2365),U_2364),U_2363)) ),
    inference(clausify,[status(thm)],[f_491_2]) ).

cnf(f_491_4,plain,
    ( ~ hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),U_2366,U_2364),U_2363))
    | hBOOL(hAPP(U_2368,bool,hAPP(U_2367,fun(U_2368,bool),hAPP(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool)),hAPP(fun(U_2367,fun(U_2368,bool)),fun(fun(U_2367,fun(U_2368,bool)),fun(U_2367,fun(U_2368,bool))),semilattice_sup_sup(fun(U_2367,fun(U_2368,bool))),U_2366),U_2365),U_2364),U_2363)) ),
    inference(clausify,[status(thm)],[f_491_2]) ).

fof(f_492_1,plain,
    ! [X_b,X_a,B_1,A_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),A_2,X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_344_sup2I1]) ).

fof(f_492_2,plain,
    ! [U_2374,U_2373,U_2372,U_2371,U_2370,U_2369] :
      ( hBOOL(hAPP(U_2374,bool,hAPP(U_2373,fun(U_2374,bool),hAPP(fun(U_2373,fun(U_2374,bool)),fun(U_2373,fun(U_2374,bool)),hAPP(fun(U_2373,fun(U_2374,bool)),fun(fun(U_2373,fun(U_2374,bool)),fun(U_2373,fun(U_2374,bool))),semilattice_sup_sup(fun(U_2373,fun(U_2374,bool))),U_2371),U_2372),U_2370),U_2369))
      | ~ hBOOL(hAPP(U_2374,bool,hAPP(U_2373,fun(U_2374,bool),U_2371,U_2370),U_2369)) ),
    inference(variable_rename,[status(thm)],[f_492_1]) ).

cnf(f_492_3,plain,
    ( hBOOL(hAPP(U_2374,bool,hAPP(U_2373,fun(U_2374,bool),hAPP(fun(U_2373,fun(U_2374,bool)),fun(U_2373,fun(U_2374,bool)),hAPP(fun(U_2373,fun(U_2374,bool)),fun(fun(U_2373,fun(U_2374,bool)),fun(U_2373,fun(U_2374,bool))),semilattice_sup_sup(fun(U_2373,fun(U_2374,bool))),U_2371),U_2372),U_2370),U_2369))
    | ~ hBOOL(hAPP(U_2374,bool,hAPP(U_2373,fun(U_2374,bool),U_2371,U_2370),U_2369)) ),
    inference(clausify,[status(thm)],[f_492_2]) ).

fof(f_493_1,plain,
    ! [X_b,X_a,A_2,B_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),semilattice_sup_sup(fun(X_a,fun(X_b,bool))),A_2),B_1),X_1),Y_1))
      | ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),B_1,X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_345_sup2I2]) ).

fof(f_493_2,plain,
    ! [U_2380,U_2379,U_2378,U_2377,U_2376,U_2375] :
      ( hBOOL(hAPP(U_2380,bool,hAPP(U_2379,fun(U_2380,bool),hAPP(fun(U_2379,fun(U_2380,bool)),fun(U_2379,fun(U_2380,bool)),hAPP(fun(U_2379,fun(U_2380,bool)),fun(fun(U_2379,fun(U_2380,bool)),fun(U_2379,fun(U_2380,bool))),semilattice_sup_sup(fun(U_2379,fun(U_2380,bool))),U_2378),U_2377),U_2376),U_2375))
      | ~ hBOOL(hAPP(U_2380,bool,hAPP(U_2379,fun(U_2380,bool),U_2377,U_2376),U_2375)) ),
    inference(variable_rename,[status(thm)],[f_493_1]) ).

cnf(f_493_3,plain,
    ( hBOOL(hAPP(U_2380,bool,hAPP(U_2379,fun(U_2380,bool),hAPP(fun(U_2379,fun(U_2380,bool)),fun(U_2379,fun(U_2380,bool)),hAPP(fun(U_2379,fun(U_2380,bool)),fun(fun(U_2379,fun(U_2380,bool)),fun(U_2379,fun(U_2380,bool))),semilattice_sup_sup(fun(U_2379,fun(U_2380,bool))),U_2378),U_2377),U_2376),U_2375))
    | ~ hBOOL(hAPP(U_2380,bool,hAPP(U_2379,fun(U_2380,bool),U_2377,U_2376),U_2375)) ),
    inference(clausify,[status(thm)],[f_493_2]) ).

fof(f_494_1,plain,
    ! [X_a,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_346_exp_Osimps_I167_J]) ).

fof(f_494_2,plain,
    ! [U_2385,U_2384,U_2383,U_2382,U_2381] : hAPP(exp(U_2385),exp(U_2385),throw(U_2385),U_2384) != hAPP(list(char),exp(U_2385),hAPP(list(char),fun(list(char),exp(U_2385)),hAPP(exp(U_2385),fun(list(char),fun(list(char),exp(U_2385))),fAcc(U_2385),U_2383),U_2382),U_2381),
    inference(variable_rename,[status(thm)],[f_494_1]) ).

cnf(f_494_3,plain,
    hAPP(exp(U_2385),exp(U_2385),throw(U_2385),U_2384) != hAPP(list(char),exp(U_2385),hAPP(list(char),fun(list(char),exp(U_2385)),hAPP(exp(U_2385),fun(list(char),fun(list(char),exp(U_2385))),fAcc(U_2385),U_2383),U_2382),U_2381),
    inference(clausify,[status(thm)],[f_494_2]) ).

fof(f_495_1,plain,
    ! [X_a,Exp,List1,List2,Exp_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_347_exp_Osimps_I166_J]) ).

fof(f_495_2,plain,
    ! [U_2390,U_2389,U_2388,U_2387,U_2386] : hAPP(list(char),exp(U_2390),hAPP(list(char),fun(list(char),exp(U_2390)),hAPP(exp(U_2390),fun(list(char),fun(list(char),exp(U_2390))),fAcc(U_2390),U_2389),U_2388),U_2387) != hAPP(exp(U_2390),exp(U_2390),throw(U_2390),U_2386),
    inference(variable_rename,[status(thm)],[f_495_1]) ).

cnf(f_495_3,plain,
    hAPP(list(char),exp(U_2390),hAPP(list(char),fun(list(char),exp(U_2390)),hAPP(exp(U_2390),fun(list(char),fun(list(char),exp(U_2390))),fAcc(U_2390),U_2389),U_2388),U_2387) != hAPP(exp(U_2390),exp(U_2390),throw(U_2390),U_2386),
    inference(clausify,[status(thm)],[f_495_2]) ).

fof(f_496_1,plain,
    ! [X_a,Exp_3,Exp_2] :
      ( ( hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_3) = hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_2)
        | Exp_3 != Exp_2 )
      & ( Exp_3 = Exp_2
        | hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_3) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_348_exp_Osimps_I14_J]) ).

fof(f_496_2,plain,
    ! [U_2393,U_2392,U_2391] :
      ( ( hAPP(exp(U_2393),exp(U_2393),throw(U_2393),U_2392) = hAPP(exp(U_2393),exp(U_2393),throw(U_2393),U_2391)
        | U_2392 != U_2391 )
      & ( U_2392 = U_2391
        | hAPP(exp(U_2393),exp(U_2393),throw(U_2393),U_2392) != hAPP(exp(U_2393),exp(U_2393),throw(U_2393),U_2391) ) ),
    inference(variable_rename,[status(thm)],[f_496_1]) ).

fof(f_496_3,plain,
    ( ! [U_2399,U_2397,U_2395] :
        ( hAPP(exp(U_2399),exp(U_2399),throw(U_2399),U_2397) = hAPP(exp(U_2399),exp(U_2399),throw(U_2399),U_2395)
        | U_2397 != U_2395 )
    & ! [U_2398,U_2396,U_2394] :
        ( U_2396 = U_2394
        | hAPP(exp(U_2398),exp(U_2398),throw(U_2398),U_2396) != hAPP(exp(U_2398),exp(U_2398),throw(U_2398),U_2394) ) ),
    inference(miniscope,[status(thm)],[f_496_2]) ).

cnf(f_496_4,plain,
    ( U_2396 = U_2394
    | hAPP(exp(U_2398),exp(U_2398),throw(U_2398),U_2396) != hAPP(exp(U_2398),exp(U_2398),throw(U_2398),U_2394) ),
    inference(clausify,[status(thm)],[f_496_3]) ).

cnf(f_496_5,plain,
    ( hAPP(exp(U_2399),exp(U_2399),throw(U_2399),U_2397) = hAPP(exp(U_2399),exp(U_2399),throw(U_2399),U_2395)
    | U_2397 != U_2395 ),
    inference(clausify,[status(thm)],[f_496_3]) ).

fof(f_497_1,plain,
    ! [X_a,Exp_3,List1_3,List2_3,Exp_2,List1_2,List2_2] :
      ( ( hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1_3),List2_3) = hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_2),List1_2),List2_2)
        | List2_3 != List2_2
        | List1_3 != List1_2
        | Exp_3 != Exp_2 )
      & ( ( List2_3 = List2_2
          & List1_3 = List1_2
          & Exp_3 = Exp_2 )
        | hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_3),List1_3),List2_3) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_2),List1_2),List2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_349_exp_Osimps_I7_J]) ).

fof(f_497_2,plain,
    ! [U_2406,U_2405,U_2404,U_2403,U_2402,U_2401,U_2400] :
      ( ( hAPP(list(char),exp(U_2406),hAPP(list(char),fun(list(char),exp(U_2406)),hAPP(exp(U_2406),fun(list(char),fun(list(char),exp(U_2406))),fAcc(U_2406),U_2405),U_2404),U_2403) = hAPP(list(char),exp(U_2406),hAPP(list(char),fun(list(char),exp(U_2406)),hAPP(exp(U_2406),fun(list(char),fun(list(char),exp(U_2406))),fAcc(U_2406),U_2402),U_2401),U_2400)
        | U_2403 != U_2400
        | U_2404 != U_2401
        | U_2405 != U_2402 )
      & ( ( U_2403 = U_2400
          & U_2404 = U_2401
          & U_2405 = U_2402 )
        | hAPP(list(char),exp(U_2406),hAPP(list(char),fun(list(char),exp(U_2406)),hAPP(exp(U_2406),fun(list(char),fun(list(char),exp(U_2406))),fAcc(U_2406),U_2405),U_2404),U_2403) != hAPP(list(char),exp(U_2406),hAPP(list(char),fun(list(char),exp(U_2406)),hAPP(exp(U_2406),fun(list(char),fun(list(char),exp(U_2406))),fAcc(U_2406),U_2402),U_2401),U_2400) ) ),
    inference(variable_rename,[status(thm)],[f_497_1]) ).

fof(f_497_3,plain,
    ( ! [U_2420,U_2418,U_2416,U_2414,U_2412,U_2410,U_2408] :
        ( hAPP(list(char),exp(U_2420),hAPP(list(char),fun(list(char),exp(U_2420)),hAPP(exp(U_2420),fun(list(char),fun(list(char),exp(U_2420))),fAcc(U_2420),U_2418),U_2416),U_2414) = hAPP(list(char),exp(U_2420),hAPP(list(char),fun(list(char),exp(U_2420)),hAPP(exp(U_2420),fun(list(char),fun(list(char),exp(U_2420))),fAcc(U_2420),U_2412),U_2410),U_2408)
        | U_2414 != U_2408
        | U_2416 != U_2410
        | U_2418 != U_2412 )
    & ! [U_2419,U_2417,U_2415,U_2413,U_2411,U_2409,U_2407] :
        ( ( U_2413 = U_2407
          & U_2415 = U_2409
          & U_2417 = U_2411 )
        | hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2417),U_2415),U_2413) != hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2411),U_2409),U_2407) ) ),
    inference(miniscope,[status(thm)],[f_497_2]) ).

cnf(f_497_4,plain,
    ( U_2417 = U_2411
    | hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2417),U_2415),U_2413) != hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2411),U_2409),U_2407) ),
    inference(clausify,[status(thm)],[f_497_3]) ).

cnf(f_497_5,plain,
    ( U_2415 = U_2409
    | hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2417),U_2415),U_2413) != hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2411),U_2409),U_2407) ),
    inference(clausify,[status(thm)],[f_497_3]) ).

cnf(f_497_6,plain,
    ( U_2413 = U_2407
    | hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2417),U_2415),U_2413) != hAPP(list(char),exp(U_2419),hAPP(list(char),fun(list(char),exp(U_2419)),hAPP(exp(U_2419),fun(list(char),fun(list(char),exp(U_2419))),fAcc(U_2419),U_2411),U_2409),U_2407) ),
    inference(clausify,[status(thm)],[f_497_3]) ).

cnf(f_497_7,plain,
    ( hAPP(list(char),exp(U_2420),hAPP(list(char),fun(list(char),exp(U_2420)),hAPP(exp(U_2420),fun(list(char),fun(list(char),exp(U_2420))),fAcc(U_2420),U_2418),U_2416),U_2414) = hAPP(list(char),exp(U_2420),hAPP(list(char),fun(list(char),exp(U_2420)),hAPP(exp(U_2420),fun(list(char),fun(list(char),exp(U_2420))),fAcc(U_2420),U_2412),U_2410),U_2408)
    | U_2414 != U_2408
    | U_2416 != U_2410
    | U_2418 != U_2412 ),
    inference(clausify,[status(thm)],[f_497_3]) ).

fof(f_498_1,plain,
    ! [Pa,Eb,F_1,D_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_350_redp__redsp_OFAccThrow]) ).

fof(f_498_2,plain,
    ! [U_2425,U_2424,U_2423,U_2422,U_2421] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2425),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2424)),U_2423),U_2422)),U_2421),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2424)),U_2421)),
    inference(variable_rename,[status(thm)],[f_498_1]) ).

cnf(f_498_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2425),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2424)),U_2423),U_2422)),U_2421),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2424)),U_2421)),
    inference(clausify,[status(thm)],[f_498_2]) ).

fof(f_499_1,plain,
    ! [F_1,D_2,Pa,Eb,S_0,E_b,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(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_351_eval__evals_OFAccThrow]) ).

fof(f_499_2,plain,
    ! [U_2432,U_2431,U_2430,U_2429,U_2428,U_2427,U_2426] :
      ( 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,U_2430),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2429),U_2432),U_2431)),U_2428),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2427)),U_2426))
      | ~ 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,U_2430),U_2429),U_2428),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2427)),U_2426)) ),
    inference(variable_rename,[status(thm)],[f_499_1]) ).

cnf(f_499_3,plain,
    ( 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,U_2430),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2429),U_2432),U_2431)),U_2428),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2427)),U_2426))
    | ~ 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,U_2430),U_2429),U_2428),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2427)),U_2426)) ),
    inference(clausify,[status(thm)],[f_499_2]) ).

fof(f_500_1,plain,
    ! [Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_352_eval__evals_OThrowThrow]) ).

fof(f_500_2,plain,
    ! [U_2437,U_2436,U_2435,U_2434,U_2433] :
      ( 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,U_2437),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2436)),U_2435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2434)),U_2433))
      | ~ 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,U_2437),U_2436),U_2435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2434)),U_2433)) ),
    inference(variable_rename,[status(thm)],[f_500_1]) ).

cnf(f_500_3,plain,
    ( 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,U_2437),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2436)),U_2435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2434)),U_2433))
    | ~ 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,U_2437),U_2436),U_2435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2434)),U_2433)) ),
    inference(clausify,[status(thm)],[f_500_2]) ).

fof(f_501_1,plain,
    ! [Pa,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_353_redp__redsp_OThrowThrow]) ).

fof(f_501_2,plain,
    ! [U_2440,U_2439,U_2438] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2440),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2439))),U_2438),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2439)),U_2438)),
    inference(variable_rename,[status(thm)],[f_501_1]) ).

cnf(f_501_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2440),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2439))),U_2438),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2439)),U_2438)),
    inference(clausify,[status(thm)],[f_501_2]) ).

fof(f_502_1,plain,
    ! [Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_354_redp__redsp_OThrowRed]) ).

fof(f_502_2,plain,
    ! [U_2445,U_2444,U_2443,U_2442,U_2441] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2445),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2444)),U_2443),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2442)),U_2441))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2445),U_2444),U_2443),U_2442),U_2441)) ),
    inference(variable_rename,[status(thm)],[f_502_1]) ).

cnf(f_502_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2445),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2444)),U_2443),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2442)),U_2441))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2445),U_2444),U_2443),U_2442),U_2441)) ),
    inference(clausify,[status(thm)],[f_502_2]) ).

fof(f_503_1,plain,
    ! [Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    inference(fof_nnf,[status(thm)],[fact_355_fv__fvs_Osimps_I14_J]) ).

fof(f_503_2,plain,
    ! [U_2446] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2446)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_2446),
    inference(variable_rename,[status(thm)],[f_503_1]) ).

cnf(f_503_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2446)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_2446),
    inference(clausify,[status(thm)],[f_503_2]) ).

fof(f_504_1,plain,
    ! [F_1,D_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_356_redp__redsp_OFAccRed]) ).

fof(f_504_2,plain,
    ! [U_2453,U_2452,U_2451,U_2450,U_2449,U_2448,U_2447] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2451),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2450),U_2453),U_2452)),U_2449),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2448),U_2453),U_2452)),U_2447))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2451),U_2450),U_2449),U_2448),U_2447)) ),
    inference(variable_rename,[status(thm)],[f_504_1]) ).

cnf(f_504_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2451),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2450),U_2453),U_2452)),U_2449),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2448),U_2453),U_2452)),U_2447))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2451),U_2450),U_2449),U_2448),U_2447)) ),
    inference(clausify,[status(thm)],[f_504_2]) ).

fof(f_505_1,plain,
    ! [Eb,F_1,D_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    inference(fof_nnf,[status(thm)],[fact_357_fv__fvs_Osimps_I7_J]) ).

fof(f_505_2,plain,
    ! [U_2456,U_2455,U_2454] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2456),U_2455),U_2454)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_2456),
    inference(variable_rename,[status(thm)],[f_505_1]) ).

cnf(f_505_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2456),U_2455),U_2454)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_2456),
    inference(clausify,[status(thm)],[f_505_2]) ).

fof(f_506_1,plain,
    ! [X_a,Exp_1,Val] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_358_exp_Osimps_I91_J]) ).

fof(f_506_2,plain,
    ! [U_2459,U_2458,U_2457] : hAPP(exp(U_2459),exp(U_2459),throw(U_2459),U_2458) != hAPP(val,exp(U_2459),val_1(U_2459),U_2457),
    inference(variable_rename,[status(thm)],[f_506_1]) ).

cnf(f_506_3,plain,
    hAPP(exp(U_2459),exp(U_2459),throw(U_2459),U_2458) != hAPP(val,exp(U_2459),val_1(U_2459),U_2457),
    inference(clausify,[status(thm)],[f_506_2]) ).

fof(f_507_1,plain,
    ! [X_a,Val,Exp_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_359_exp_Osimps_I90_J]) ).

fof(f_507_2,plain,
    ! [U_2462,U_2461,U_2460] : hAPP(val,exp(U_2462),val_1(U_2462),U_2461) != hAPP(exp(U_2462),exp(U_2462),throw(U_2462),U_2460),
    inference(variable_rename,[status(thm)],[f_507_1]) ).

cnf(f_507_3,plain,
    hAPP(val,exp(U_2462),val_1(U_2462),U_2461) != hAPP(exp(U_2462),exp(U_2462),throw(U_2462),U_2460),
    inference(clausify,[status(thm)],[f_507_2]) ).

fof(f_508_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Val] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_360_exp_Osimps_I77_J]) ).

fof(f_508_2,plain,
    ! [U_2467,U_2466,U_2465,U_2464,U_2463] : hAPP(list(char),exp(U_2467),hAPP(list(char),fun(list(char),exp(U_2467)),hAPP(exp(U_2467),fun(list(char),fun(list(char),exp(U_2467))),fAcc(U_2467),U_2466),U_2465),U_2464) != hAPP(val,exp(U_2467),val_1(U_2467),U_2463),
    inference(variable_rename,[status(thm)],[f_508_1]) ).

cnf(f_508_3,plain,
    hAPP(list(char),exp(U_2467),hAPP(list(char),fun(list(char),exp(U_2467)),hAPP(exp(U_2467),fun(list(char),fun(list(char),exp(U_2467))),fAcc(U_2467),U_2466),U_2465),U_2464) != hAPP(val,exp(U_2467),val_1(U_2467),U_2463),
    inference(clausify,[status(thm)],[f_508_2]) ).

fof(f_509_1,plain,
    ! [X_a,Val,Exp_1,List1_1,List2_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_361_exp_Osimps_I76_J]) ).

fof(f_509_2,plain,
    ! [U_2472,U_2471,U_2470,U_2469,U_2468] : hAPP(val,exp(U_2472),val_1(U_2472),U_2471) != hAPP(list(char),exp(U_2472),hAPP(list(char),fun(list(char),exp(U_2472)),hAPP(exp(U_2472),fun(list(char),fun(list(char),exp(U_2472))),fAcc(U_2472),U_2470),U_2469),U_2468),
    inference(variable_rename,[status(thm)],[f_509_1]) ).

cnf(f_509_3,plain,
    hAPP(val,exp(U_2472),val_1(U_2472),U_2471) != hAPP(list(char),exp(U_2472),hAPP(list(char),fun(list(char),exp(U_2472)),hAPP(exp(U_2472),fun(list(char),fun(list(char),exp(U_2472))),fAcc(U_2472),U_2470),U_2469),U_2468),
    inference(clausify,[status(thm)],[f_509_2]) ).

fof(f_510_1,plain,
    ! [X_a,A_5,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_362_exp_Osimps_I150_J]) ).

fof(f_510_2,plain,
    ! [U_2476,U_2475,U_2474,U_2473] : hAPP(exp(U_2476),exp(U_2476),hAPP(U_2476,fun(exp(U_2476),exp(U_2476)),lAss(U_2476),U_2475),U_2474) != hAPP(exp(U_2476),exp(U_2476),throw(U_2476),U_2473),
    inference(variable_rename,[status(thm)],[f_510_1]) ).

cnf(f_510_3,plain,
    hAPP(exp(U_2476),exp(U_2476),hAPP(U_2476,fun(exp(U_2476),exp(U_2476)),lAss(U_2476),U_2475),U_2474) != hAPP(exp(U_2476),exp(U_2476),throw(U_2476),U_2473),
    inference(clausify,[status(thm)],[f_510_2]) ).

fof(f_511_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_363_exp_Osimps_I210_J]) ).

fof(f_511_2,plain,
    ! [U_2480,U_2479,U_2478,U_2477] : hAPP(exp(U_2480),exp(U_2480),hAPP(exp(U_2480),fun(exp(U_2480),exp(U_2480)),seq(U_2480),U_2479),U_2478) != hAPP(exp(U_2480),exp(U_2480),throw(U_2480),U_2477),
    inference(variable_rename,[status(thm)],[f_511_1]) ).

cnf(f_511_3,plain,
    hAPP(exp(U_2480),exp(U_2480),hAPP(exp(U_2480),fun(exp(U_2480),exp(U_2480)),seq(U_2480),U_2479),U_2478) != hAPP(exp(U_2480),exp(U_2480),throw(U_2480),U_2477),
    inference(clausify,[status(thm)],[f_511_2]) ).

fof(f_512_1,plain,
    ! [X_a,Exp_1,A_5,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_364_exp_Osimps_I151_J]) ).

fof(f_512_2,plain,
    ! [U_2484,U_2483,U_2482,U_2481] : hAPP(exp(U_2484),exp(U_2484),throw(U_2484),U_2483) != hAPP(exp(U_2484),exp(U_2484),hAPP(U_2484,fun(exp(U_2484),exp(U_2484)),lAss(U_2484),U_2482),U_2481),
    inference(variable_rename,[status(thm)],[f_512_1]) ).

cnf(f_512_3,plain,
    hAPP(exp(U_2484),exp(U_2484),throw(U_2484),U_2483) != hAPP(exp(U_2484),exp(U_2484),hAPP(U_2484,fun(exp(U_2484),exp(U_2484)),lAss(U_2484),U_2482),U_2481),
    inference(clausify,[status(thm)],[f_512_2]) ).

fof(f_513_1,plain,
    ! [X_a,Exp_1,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_365_exp_Osimps_I211_J]) ).

fof(f_513_2,plain,
    ! [U_2488,U_2487,U_2486,U_2485] : hAPP(exp(U_2488),exp(U_2488),throw(U_2488),U_2487) != hAPP(exp(U_2488),exp(U_2488),hAPP(exp(U_2488),fun(exp(U_2488),exp(U_2488)),seq(U_2488),U_2486),U_2485),
    inference(variable_rename,[status(thm)],[f_513_1]) ).

cnf(f_513_3,plain,
    hAPP(exp(U_2488),exp(U_2488),throw(U_2488),U_2487) != hAPP(exp(U_2488),exp(U_2488),hAPP(exp(U_2488),fun(exp(U_2488),exp(U_2488)),seq(U_2488),U_2486),U_2485),
    inference(clausify,[status(thm)],[f_513_2]) ).

fof(f_514_1,plain,
    ! [X_a,Exp_1,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_366_exp_Osimps_I181_J]) ).

fof(f_514_2,plain,
    ! [U_2494,U_2493,U_2492,U_2491,U_2490,U_2489] : hAPP(exp(U_2494),exp(U_2494),throw(U_2494),U_2493) != hAPP(exp(U_2494),exp(U_2494),hAPP(list(char),fun(exp(U_2494),exp(U_2494)),hAPP(list(char),fun(list(char),fun(exp(U_2494),exp(U_2494))),hAPP(exp(U_2494),fun(list(char),fun(list(char),fun(exp(U_2494),exp(U_2494)))),fAss(U_2494),U_2492),U_2491),U_2490),U_2489),
    inference(variable_rename,[status(thm)],[f_514_1]) ).

cnf(f_514_3,plain,
    hAPP(exp(U_2494),exp(U_2494),throw(U_2494),U_2493) != hAPP(exp(U_2494),exp(U_2494),hAPP(list(char),fun(exp(U_2494),exp(U_2494)),hAPP(list(char),fun(list(char),fun(exp(U_2494),exp(U_2494))),hAPP(exp(U_2494),fun(list(char),fun(list(char),fun(exp(U_2494),exp(U_2494)))),fAss(U_2494),U_2492),U_2491),U_2490),U_2489),
    inference(clausify,[status(thm)],[f_514_2]) ).

fof(f_515_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_367_exp_Osimps_I180_J]) ).

fof(f_515_2,plain,
    ! [U_2500,U_2499,U_2498,U_2497,U_2496,U_2495] : hAPP(exp(U_2500),exp(U_2500),hAPP(list(char),fun(exp(U_2500),exp(U_2500)),hAPP(list(char),fun(list(char),fun(exp(U_2500),exp(U_2500))),hAPP(exp(U_2500),fun(list(char),fun(list(char),fun(exp(U_2500),exp(U_2500)))),fAss(U_2500),U_2499),U_2498),U_2497),U_2496) != hAPP(exp(U_2500),exp(U_2500),throw(U_2500),U_2495),
    inference(variable_rename,[status(thm)],[f_515_1]) ).

cnf(f_515_3,plain,
    hAPP(exp(U_2500),exp(U_2500),hAPP(list(char),fun(exp(U_2500),exp(U_2500)),hAPP(list(char),fun(list(char),fun(exp(U_2500),exp(U_2500))),hAPP(exp(U_2500),fun(list(char),fun(list(char),fun(exp(U_2500),exp(U_2500)))),fAss(U_2500),U_2499),U_2498),U_2497),U_2496) != hAPP(exp(U_2500),exp(U_2500),throw(U_2500),U_2495),
    inference(clausify,[status(thm)],[f_515_2]) ).

fof(f_516_1,plain,
    ! [X_a,A_5,Ty_1,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_368_exp_Osimps_I202_J]) ).

fof(f_516_2,plain,
    ! [U_2505,U_2504,U_2503,U_2502,U_2501] : hAPP(exp(U_2505),exp(U_2505),hAPP(ty,fun(exp(U_2505),exp(U_2505)),hAPP(U_2505,fun(ty,fun(exp(U_2505),exp(U_2505))),block(U_2505),U_2504),U_2503),U_2502) != hAPP(exp(U_2505),exp(U_2505),throw(U_2505),U_2501),
    inference(variable_rename,[status(thm)],[f_516_1]) ).

cnf(f_516_3,plain,
    hAPP(exp(U_2505),exp(U_2505),hAPP(ty,fun(exp(U_2505),exp(U_2505)),hAPP(U_2505,fun(ty,fun(exp(U_2505),exp(U_2505))),block(U_2505),U_2504),U_2503),U_2502) != hAPP(exp(U_2505),exp(U_2505),throw(U_2505),U_2501),
    inference(clausify,[status(thm)],[f_516_2]) ).

fof(f_517_1,plain,
    ! [X_a,Exp_1,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    inference(fof_nnf,[status(thm)],[fact_369_exp_Osimps_I203_J]) ).

fof(f_517_2,plain,
    ! [U_2510,U_2509,U_2508,U_2507,U_2506] : hAPP(exp(U_2510),exp(U_2510),throw(U_2510),U_2509) != hAPP(exp(U_2510),exp(U_2510),hAPP(ty,fun(exp(U_2510),exp(U_2510)),hAPP(U_2510,fun(ty,fun(exp(U_2510),exp(U_2510))),block(U_2510),U_2508),U_2507),U_2506),
    inference(variable_rename,[status(thm)],[f_517_1]) ).

cnf(f_517_3,plain,
    hAPP(exp(U_2510),exp(U_2510),throw(U_2510),U_2509) != hAPP(exp(U_2510),exp(U_2510),hAPP(ty,fun(exp(U_2510),exp(U_2510)),hAPP(U_2510,fun(ty,fun(exp(U_2510),exp(U_2510))),block(U_2510),U_2508),U_2507),U_2506),
    inference(clausify,[status(thm)],[f_517_2]) ).

fof(f_518_1,plain,
    ! [Eb,F_1,D_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_370_red__reds_OFAccThrow]) ).

fof(f_518_2,plain,
    ! [U_2515,U_2514,U_2513,U_2512,U_2511] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2515)),U_2514),U_2513)),U_2512)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2515)),U_2512))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2511))),
    inference(variable_rename,[status(thm)],[f_518_1]) ).

cnf(f_518_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2515)),U_2514),U_2513)),U_2512)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2515)),U_2512))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2511))),
    inference(clausify,[status(thm)],[f_518_2]) ).

fof(f_519_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,A_5,Exp] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_371_exp_Osimps_I137_J]) ).

fof(f_519_2,plain,
    ! [U_2521,U_2520,U_2519,U_2518,U_2517,U_2516] : hAPP(list(char),exp(U_2521),hAPP(list(char),fun(list(char),exp(U_2521)),hAPP(exp(U_2521),fun(list(char),fun(list(char),exp(U_2521))),fAcc(U_2521),U_2520),U_2519),U_2518) != hAPP(exp(U_2521),exp(U_2521),hAPP(U_2521,fun(exp(U_2521),exp(U_2521)),lAss(U_2521),U_2517),U_2516),
    inference(variable_rename,[status(thm)],[f_519_1]) ).

cnf(f_519_3,plain,
    hAPP(list(char),exp(U_2521),hAPP(list(char),fun(list(char),exp(U_2521)),hAPP(exp(U_2521),fun(list(char),fun(list(char),exp(U_2521))),fAcc(U_2521),U_2520),U_2519),U_2518) != hAPP(exp(U_2521),exp(U_2521),hAPP(U_2521,fun(exp(U_2521),exp(U_2521)),lAss(U_2521),U_2517),U_2516),
    inference(clausify,[status(thm)],[f_519_2]) ).

fof(f_520_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_372_exp_Osimps_I160_J]) ).

fof(f_520_2,plain,
    ! [U_2527,U_2526,U_2525,U_2524,U_2523,U_2522] : hAPP(list(char),exp(U_2527),hAPP(list(char),fun(list(char),exp(U_2527)),hAPP(exp(U_2527),fun(list(char),fun(list(char),exp(U_2527))),fAcc(U_2527),U_2526),U_2525),U_2524) != hAPP(exp(U_2527),exp(U_2527),hAPP(exp(U_2527),fun(exp(U_2527),exp(U_2527)),seq(U_2527),U_2523),U_2522),
    inference(variable_rename,[status(thm)],[f_520_1]) ).

cnf(f_520_3,plain,
    hAPP(list(char),exp(U_2527),hAPP(list(char),fun(list(char),exp(U_2527)),hAPP(exp(U_2527),fun(list(char),fun(list(char),exp(U_2527))),fAcc(U_2527),U_2526),U_2525),U_2524) != hAPP(exp(U_2527),exp(U_2527),hAPP(exp(U_2527),fun(exp(U_2527),exp(U_2527)),seq(U_2527),U_2523),U_2522),
    inference(clausify,[status(thm)],[f_520_2]) ).

fof(f_521_1,plain,
    ! [X_a,A_5,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_373_exp_Osimps_I136_J]) ).

fof(f_521_2,plain,
    ! [U_2533,U_2532,U_2531,U_2530,U_2529,U_2528] : hAPP(exp(U_2533),exp(U_2533),hAPP(U_2533,fun(exp(U_2533),exp(U_2533)),lAss(U_2533),U_2532),U_2531) != hAPP(list(char),exp(U_2533),hAPP(list(char),fun(list(char),exp(U_2533)),hAPP(exp(U_2533),fun(list(char),fun(list(char),exp(U_2533))),fAcc(U_2533),U_2530),U_2529),U_2528),
    inference(variable_rename,[status(thm)],[f_521_1]) ).

cnf(f_521_3,plain,
    hAPP(exp(U_2533),exp(U_2533),hAPP(U_2533,fun(exp(U_2533),exp(U_2533)),lAss(U_2533),U_2532),U_2531) != hAPP(list(char),exp(U_2533),hAPP(list(char),fun(list(char),exp(U_2533)),hAPP(exp(U_2533),fun(list(char),fun(list(char),exp(U_2533))),fAcc(U_2533),U_2530),U_2529),U_2528),
    inference(clausify,[status(thm)],[f_521_2]) ).

fof(f_522_1,plain,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_374_exp_Osimps_I161_J]) ).

fof(f_522_2,plain,
    ! [U_2539,U_2538,U_2537,U_2536,U_2535,U_2534] : hAPP(exp(U_2539),exp(U_2539),hAPP(exp(U_2539),fun(exp(U_2539),exp(U_2539)),seq(U_2539),U_2538),U_2537) != hAPP(list(char),exp(U_2539),hAPP(list(char),fun(list(char),exp(U_2539)),hAPP(exp(U_2539),fun(list(char),fun(list(char),exp(U_2539))),fAcc(U_2539),U_2536),U_2535),U_2534),
    inference(variable_rename,[status(thm)],[f_522_1]) ).

cnf(f_522_3,plain,
    hAPP(exp(U_2539),exp(U_2539),hAPP(exp(U_2539),fun(exp(U_2539),exp(U_2539)),seq(U_2539),U_2538),U_2537) != hAPP(list(char),exp(U_2539),hAPP(list(char),fun(list(char),exp(U_2539)),hAPP(exp(U_2539),fun(list(char),fun(list(char),exp(U_2539))),fAcc(U_2539),U_2536),U_2535),U_2534),
    inference(clausify,[status(thm)],[f_522_2]) ).

fof(f_523_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,List1_1,List2_1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_375_exp_Osimps_I154_J]) ).

fof(f_523_2,plain,
    ! [U_2547,U_2546,U_2545,U_2544,U_2543,U_2542,U_2541,U_2540] : hAPP(list(char),exp(U_2547),hAPP(list(char),fun(list(char),exp(U_2547)),hAPP(exp(U_2547),fun(list(char),fun(list(char),exp(U_2547))),fAcc(U_2547),U_2546),U_2545),U_2544) != hAPP(exp(U_2547),exp(U_2547),hAPP(list(char),fun(exp(U_2547),exp(U_2547)),hAPP(list(char),fun(list(char),fun(exp(U_2547),exp(U_2547))),hAPP(exp(U_2547),fun(list(char),fun(list(char),fun(exp(U_2547),exp(U_2547)))),fAss(U_2547),U_2543),U_2542),U_2541),U_2540),
    inference(variable_rename,[status(thm)],[f_523_1]) ).

cnf(f_523_3,plain,
    hAPP(list(char),exp(U_2547),hAPP(list(char),fun(list(char),exp(U_2547)),hAPP(exp(U_2547),fun(list(char),fun(list(char),exp(U_2547))),fAcc(U_2547),U_2546),U_2545),U_2544) != hAPP(exp(U_2547),exp(U_2547),hAPP(list(char),fun(exp(U_2547),exp(U_2547)),hAPP(list(char),fun(list(char),fun(exp(U_2547),exp(U_2547))),hAPP(exp(U_2547),fun(list(char),fun(list(char),fun(exp(U_2547),exp(U_2547)))),fAss(U_2547),U_2543),U_2542),U_2541),U_2540),
    inference(clausify,[status(thm)],[f_523_2]) ).

fof(f_524_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_376_exp_Osimps_I155_J]) ).

fof(f_524_2,plain,
    ! [U_2555,U_2554,U_2553,U_2552,U_2551,U_2550,U_2549,U_2548] : hAPP(exp(U_2555),exp(U_2555),hAPP(list(char),fun(exp(U_2555),exp(U_2555)),hAPP(list(char),fun(list(char),fun(exp(U_2555),exp(U_2555))),hAPP(exp(U_2555),fun(list(char),fun(list(char),fun(exp(U_2555),exp(U_2555)))),fAss(U_2555),U_2554),U_2553),U_2552),U_2551) != hAPP(list(char),exp(U_2555),hAPP(list(char),fun(list(char),exp(U_2555)),hAPP(exp(U_2555),fun(list(char),fun(list(char),exp(U_2555))),fAcc(U_2555),U_2550),U_2549),U_2548),
    inference(variable_rename,[status(thm)],[f_524_1]) ).

cnf(f_524_3,plain,
    hAPP(exp(U_2555),exp(U_2555),hAPP(list(char),fun(exp(U_2555),exp(U_2555)),hAPP(list(char),fun(list(char),fun(exp(U_2555),exp(U_2555))),hAPP(exp(U_2555),fun(list(char),fun(list(char),fun(exp(U_2555),exp(U_2555)))),fAss(U_2555),U_2554),U_2553),U_2552),U_2551) != hAPP(list(char),exp(U_2555),hAPP(list(char),fun(list(char),exp(U_2555)),hAPP(exp(U_2555),fun(list(char),fun(list(char),exp(U_2555))),fAcc(U_2555),U_2550),U_2549),U_2548),
    inference(clausify,[status(thm)],[f_524_2]) ).

fof(f_525_1,plain,
    ! [X_a,A_6,Ty,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_377_exp_Osimps_I159_J]) ).

fof(f_525_2,plain,
    ! [U_2562,U_2561,U_2560,U_2559,U_2558,U_2557,U_2556] : hAPP(exp(U_2562),exp(U_2562),hAPP(ty,fun(exp(U_2562),exp(U_2562)),hAPP(U_2562,fun(ty,fun(exp(U_2562),exp(U_2562))),block(U_2562),U_2561),U_2560),U_2559) != hAPP(list(char),exp(U_2562),hAPP(list(char),fun(list(char),exp(U_2562)),hAPP(exp(U_2562),fun(list(char),fun(list(char),exp(U_2562))),fAcc(U_2562),U_2558),U_2557),U_2556),
    inference(variable_rename,[status(thm)],[f_525_1]) ).

cnf(f_525_3,plain,
    hAPP(exp(U_2562),exp(U_2562),hAPP(ty,fun(exp(U_2562),exp(U_2562)),hAPP(U_2562,fun(ty,fun(exp(U_2562),exp(U_2562))),block(U_2562),U_2561),U_2560),U_2559) != hAPP(list(char),exp(U_2562),hAPP(list(char),fun(list(char),exp(U_2562)),hAPP(exp(U_2562),fun(list(char),fun(list(char),exp(U_2562))),fAcc(U_2562),U_2558),U_2557),U_2556),
    inference(clausify,[status(thm)],[f_525_2]) ).

fof(f_526_1,plain,
    ! [X_a,Exp,List1,List2,A_6,Ty,Exp_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_378_exp_Osimps_I158_J]) ).

fof(f_526_2,plain,
    ! [U_2569,U_2568,U_2567,U_2566,U_2565,U_2564,U_2563] : hAPP(list(char),exp(U_2569),hAPP(list(char),fun(list(char),exp(U_2569)),hAPP(exp(U_2569),fun(list(char),fun(list(char),exp(U_2569))),fAcc(U_2569),U_2568),U_2567),U_2566) != hAPP(exp(U_2569),exp(U_2569),hAPP(ty,fun(exp(U_2569),exp(U_2569)),hAPP(U_2569,fun(ty,fun(exp(U_2569),exp(U_2569))),block(U_2569),U_2565),U_2564),U_2563),
    inference(variable_rename,[status(thm)],[f_526_1]) ).

cnf(f_526_3,plain,
    hAPP(list(char),exp(U_2569),hAPP(list(char),fun(list(char),exp(U_2569)),hAPP(exp(U_2569),fun(list(char),fun(list(char),exp(U_2569))),fAcc(U_2569),U_2568),U_2567),U_2566) != hAPP(exp(U_2569),exp(U_2569),hAPP(ty,fun(exp(U_2569),exp(U_2569)),hAPP(U_2569,fun(ty,fun(exp(U_2569),exp(U_2569))),block(U_2569),U_2565),U_2564),U_2563),
    inference(clausify,[status(thm)],[f_526_2]) ).

fof(f_527_1,plain,
    ! [X_a,Eb,A_2] :
      ( ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),throw(X_a),Eb)),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) )
      & ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),throw(X_a),Eb)),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_379__092_060D_062___092_060D_062s_Osimps_I14_J]) ).

fof(f_527_2,plain,
    ! [U_2572,U_2571,U_2570] :
      ( ( hBOOL(hAPP(option(fun(U_2572,bool)),bool,hAPP(exp(U_2572),fun(option(fun(U_2572,bool)),bool),d(U_2572),hAPP(exp(U_2572),exp(U_2572),throw(U_2572),U_2571)),U_2570))
        | ~ hBOOL(hAPP(option(fun(U_2572,bool)),bool,hAPP(exp(U_2572),fun(option(fun(U_2572,bool)),bool),d(U_2572),U_2571),U_2570)) )
      & ( hBOOL(hAPP(option(fun(U_2572,bool)),bool,hAPP(exp(U_2572),fun(option(fun(U_2572,bool)),bool),d(U_2572),U_2571),U_2570))
        | ~ hBOOL(hAPP(option(fun(U_2572,bool)),bool,hAPP(exp(U_2572),fun(option(fun(U_2572,bool)),bool),d(U_2572),hAPP(exp(U_2572),exp(U_2572),throw(U_2572),U_2571)),U_2570)) ) ),
    inference(variable_rename,[status(thm)],[f_527_1]) ).

fof(f_527_3,plain,
    ( ! [U_2578,U_2576,U_2574] :
        ( hBOOL(hAPP(option(fun(U_2578,bool)),bool,hAPP(exp(U_2578),fun(option(fun(U_2578,bool)),bool),d(U_2578),hAPP(exp(U_2578),exp(U_2578),throw(U_2578),U_2576)),U_2574))
        | ~ hBOOL(hAPP(option(fun(U_2578,bool)),bool,hAPP(exp(U_2578),fun(option(fun(U_2578,bool)),bool),d(U_2578),U_2576),U_2574)) )
    & ! [U_2577,U_2575,U_2573] :
        ( hBOOL(hAPP(option(fun(U_2577,bool)),bool,hAPP(exp(U_2577),fun(option(fun(U_2577,bool)),bool),d(U_2577),U_2575),U_2573))
        | ~ hBOOL(hAPP(option(fun(U_2577,bool)),bool,hAPP(exp(U_2577),fun(option(fun(U_2577,bool)),bool),d(U_2577),hAPP(exp(U_2577),exp(U_2577),throw(U_2577),U_2575)),U_2573)) ) ),
    inference(miniscope,[status(thm)],[f_527_2]) ).

cnf(f_527_4,plain,
    ( hBOOL(hAPP(option(fun(U_2577,bool)),bool,hAPP(exp(U_2577),fun(option(fun(U_2577,bool)),bool),d(U_2577),U_2575),U_2573))
    | ~ hBOOL(hAPP(option(fun(U_2577,bool)),bool,hAPP(exp(U_2577),fun(option(fun(U_2577,bool)),bool),d(U_2577),hAPP(exp(U_2577),exp(U_2577),throw(U_2577),U_2575)),U_2573)) ),
    inference(clausify,[status(thm)],[f_527_3]) ).

cnf(f_527_5,plain,
    ( hBOOL(hAPP(option(fun(U_2578,bool)),bool,hAPP(exp(U_2578),fun(option(fun(U_2578,bool)),bool),d(U_2578),hAPP(exp(U_2578),exp(U_2578),throw(U_2578),U_2576)),U_2574))
    | ~ hBOOL(hAPP(option(fun(U_2578,bool)),bool,hAPP(exp(U_2578),fun(option(fun(U_2578,bool)),bool),d(U_2578),U_2576),U_2574)) ),
    inference(clausify,[status(thm)],[f_527_3]) ).

fof(f_528_1,plain,
    ! [X_a,Eb,F_1,D_2,A_2] :
      ( ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Eb),F_1),D_2)),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) )
      & ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Eb),F_1),D_2)),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_380__092_060D_062___092_060D_062s_Osimps_I7_J]) ).

fof(f_528_2,plain,
    ! [U_2583,U_2582,U_2581,U_2580,U_2579] :
      ( ( hBOOL(hAPP(option(fun(U_2583,bool)),bool,hAPP(exp(U_2583),fun(option(fun(U_2583,bool)),bool),d(U_2583),hAPP(list(char),exp(U_2583),hAPP(list(char),fun(list(char),exp(U_2583)),hAPP(exp(U_2583),fun(list(char),fun(list(char),exp(U_2583))),fAcc(U_2583),U_2582),U_2581),U_2580)),U_2579))
        | ~ hBOOL(hAPP(option(fun(U_2583,bool)),bool,hAPP(exp(U_2583),fun(option(fun(U_2583,bool)),bool),d(U_2583),U_2582),U_2579)) )
      & ( hBOOL(hAPP(option(fun(U_2583,bool)),bool,hAPP(exp(U_2583),fun(option(fun(U_2583,bool)),bool),d(U_2583),U_2582),U_2579))
        | ~ hBOOL(hAPP(option(fun(U_2583,bool)),bool,hAPP(exp(U_2583),fun(option(fun(U_2583,bool)),bool),d(U_2583),hAPP(list(char),exp(U_2583),hAPP(list(char),fun(list(char),exp(U_2583)),hAPP(exp(U_2583),fun(list(char),fun(list(char),exp(U_2583))),fAcc(U_2583),U_2582),U_2581),U_2580)),U_2579)) ) ),
    inference(variable_rename,[status(thm)],[f_528_1]) ).

fof(f_528_3,plain,
    ( ! [U_2593,U_2591,U_2589,U_2587,U_2585] :
        ( hBOOL(hAPP(option(fun(U_2593,bool)),bool,hAPP(exp(U_2593),fun(option(fun(U_2593,bool)),bool),d(U_2593),hAPP(list(char),exp(U_2593),hAPP(list(char),fun(list(char),exp(U_2593)),hAPP(exp(U_2593),fun(list(char),fun(list(char),exp(U_2593))),fAcc(U_2593),U_2591),U_2589),U_2587)),U_2585))
        | ~ hBOOL(hAPP(option(fun(U_2593,bool)),bool,hAPP(exp(U_2593),fun(option(fun(U_2593,bool)),bool),d(U_2593),U_2591),U_2585)) )
    & ! [U_2592,U_2590,U_2588,U_2586,U_2584] :
        ( hBOOL(hAPP(option(fun(U_2592,bool)),bool,hAPP(exp(U_2592),fun(option(fun(U_2592,bool)),bool),d(U_2592),U_2590),U_2584))
        | ~ hBOOL(hAPP(option(fun(U_2592,bool)),bool,hAPP(exp(U_2592),fun(option(fun(U_2592,bool)),bool),d(U_2592),hAPP(list(char),exp(U_2592),hAPP(list(char),fun(list(char),exp(U_2592)),hAPP(exp(U_2592),fun(list(char),fun(list(char),exp(U_2592))),fAcc(U_2592),U_2590),U_2588),U_2586)),U_2584)) ) ),
    inference(miniscope,[status(thm)],[f_528_2]) ).

cnf(f_528_4,plain,
    ( hBOOL(hAPP(option(fun(U_2592,bool)),bool,hAPP(exp(U_2592),fun(option(fun(U_2592,bool)),bool),d(U_2592),U_2590),U_2584))
    | ~ hBOOL(hAPP(option(fun(U_2592,bool)),bool,hAPP(exp(U_2592),fun(option(fun(U_2592,bool)),bool),d(U_2592),hAPP(list(char),exp(U_2592),hAPP(list(char),fun(list(char),exp(U_2592)),hAPP(exp(U_2592),fun(list(char),fun(list(char),exp(U_2592))),fAcc(U_2592),U_2590),U_2588),U_2586)),U_2584)) ),
    inference(clausify,[status(thm)],[f_528_3]) ).

cnf(f_528_5,plain,
    ( hBOOL(hAPP(option(fun(U_2593,bool)),bool,hAPP(exp(U_2593),fun(option(fun(U_2593,bool)),bool),d(U_2593),hAPP(list(char),exp(U_2593),hAPP(list(char),fun(list(char),exp(U_2593)),hAPP(exp(U_2593),fun(list(char),fun(list(char),exp(U_2593))),fAcc(U_2593),U_2591),U_2589),U_2587)),U_2585))
    | ~ hBOOL(hAPP(option(fun(U_2593,bool)),bool,hAPP(exp(U_2593),fun(option(fun(U_2593,bool)),bool),d(U_2593),U_2591),U_2585)) ),
    inference(clausify,[status(thm)],[f_528_3]) ).

fof(f_529_1,plain,
    ! [F_1,D_2,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_381_FAccRedsThrow]) ).

fof(f_529_2,plain,
    ! [U_2600,U_2599,U_2598,U_2597,U_2596,U_2595,U_2594] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2598),U_2600),U_2599)),U_2597)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2596)),U_2595))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2594))))
      | ~ 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)))),U_2598),U_2597)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2596)),U_2595))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2594)))) ),
    inference(variable_rename,[status(thm)],[f_529_1]) ).

cnf(f_529_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2598),U_2600),U_2599)),U_2597)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2596)),U_2595))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2594))))
    | ~ 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)))),U_2598),U_2597)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2596)),U_2595))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2594)))) ),
    inference(clausify,[status(thm)],[f_529_2]) ).

fof(f_530_1,plain,
    ! [E_1_1,Pa,E_0,S_0,Eb,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_0),E_1_1)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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),E_0),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_382_eval__evals_OSeqThrow]) ).

fof(f_530_2,plain,
    ! [U_2606,U_2605,U_2604,U_2603,U_2602,U_2601] :
      ( 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,U_2605),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2604),U_2606)),U_2603),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2602)),U_2601))
      | ~ 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,U_2605),U_2604),U_2603),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2602)),U_2601)) ),
    inference(variable_rename,[status(thm)],[f_530_1]) ).

cnf(f_530_3,plain,
    ( 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,U_2605),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2604),U_2606)),U_2603),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2602)),U_2601))
    | ~ 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,U_2605),U_2604),U_2603),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2602)),U_2601)) ),
    inference(clausify,[status(thm)],[f_530_2]) ).

fof(f_531_1,plain,
    ! [Va_1,Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_383_eval__evals_OLAssThrow]) ).

fof(f_531_2,plain,
    ! [U_2612,U_2611,U_2610,U_2609,U_2608,U_2607] :
      ( 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,U_2611),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2612),U_2610)),U_2609),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2608)),U_2607))
      | ~ 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,U_2611),U_2610),U_2609),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2608)),U_2607)) ),
    inference(variable_rename,[status(thm)],[f_531_1]) ).

cnf(f_531_3,plain,
    ( 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,U_2611),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2612),U_2610)),U_2609),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2608)),U_2607))
    | ~ 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,U_2611),U_2610),U_2609),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2608)),U_2607)) ),
    inference(clausify,[status(thm)],[f_531_2]) ).

fof(f_532_1,plain,
    ! [F_1,D_2,E_2,Pa,E_1_1,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_384_eval__evals_OFAssThrow1]) ).

fof(f_532_2,plain,
    ! [U_2620,U_2619,U_2618,U_2617,U_2616,U_2615,U_2614,U_2613] :
      ( 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,U_2617),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2616),U_2620),U_2619),U_2618)),U_2615),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2614)),U_2613))
      | ~ 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,U_2617),U_2616),U_2615),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2614)),U_2613)) ),
    inference(variable_rename,[status(thm)],[f_532_1]) ).

cnf(f_532_3,plain,
    ( 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,U_2617),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2616),U_2620),U_2619),U_2618)),U_2615),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2614)),U_2613))
    | ~ 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,U_2617),U_2616),U_2615),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2614)),U_2613)) ),
    inference(clausify,[status(thm)],[f_532_2]) ).

fof(f_533_1,plain,
    ! [Pa,Eb,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_385_redp__redsp_OSeqThrow]) ).

fof(f_533_2,plain,
    ! [U_2624,U_2623,U_2622,U_2621] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2624),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2623)),U_2622)),U_2621),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2623)),U_2621)),
    inference(variable_rename,[status(thm)],[f_533_1]) ).

cnf(f_533_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2624),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2623)),U_2622)),U_2621),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2623)),U_2621)),
    inference(clausify,[status(thm)],[f_533_2]) ).

fof(f_534_1,plain,
    ! [Pa,Va_1,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_386_redp__redsp_OLAssThrow]) ).

fof(f_534_2,plain,
    ! [U_2628,U_2627,U_2626,U_2625] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2628),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2626))),U_2625),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2626)),U_2625)),
    inference(variable_rename,[status(thm)],[f_534_1]) ).

cnf(f_534_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2628),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2626))),U_2625),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2626)),U_2625)),
    inference(clausify,[status(thm)],[f_534_2]) ).

fof(f_535_1,plain,
    ! [Pa,Eb,F_1,D_2,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_387_redp__redsp_OFAssThrow1]) ).

fof(f_535_2,plain,
    ! [U_2634,U_2633,U_2632,U_2631,U_2630,U_2629] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2634),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2633)),U_2632),U_2631),U_2630)),U_2629),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2633)),U_2629)),
    inference(variable_rename,[status(thm)],[f_535_1]) ).

cnf(f_535_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2634),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2633)),U_2632),U_2631),U_2630)),U_2629),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2633)),U_2629)),
    inference(clausify,[status(thm)],[f_535_2]) ).

fof(f_536_1,plain,
    ! [Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_388_red__reds_OThrowThrow]) ).

fof(f_536_2,plain,
    ! [U_2637,U_2636,U_2635] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2637))),U_2636)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2637)),U_2636))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2635))),
    inference(variable_rename,[status(thm)],[f_536_1]) ).

cnf(f_536_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2637))),U_2636)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2637)),U_2636))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2635))),
    inference(clausify,[status(thm)],[f_536_2]) ).

fof(f_537_1,plain,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_389_red__reds_OThrowRed]) ).

fof(f_537_2,plain,
    ! [U_2642,U_2641,U_2640,U_2639,U_2638] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2642)),U_2641)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2640)),U_2639))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2638)))
      | ~ 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)))),U_2642),U_2641)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2640),U_2639))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2638))) ),
    inference(variable_rename,[status(thm)],[f_537_1]) ).

cnf(f_537_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2642)),U_2641)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2640)),U_2639))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2638)))
    | ~ 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)))),U_2642),U_2641)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2640),U_2639))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2638))) ),
    inference(clausify,[status(thm)],[f_537_2]) ).

fof(f_538_1,plain,
    ! [Pa,Eb,S_0,A_1,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_390_Throw]) ).

fof(f_538_2,plain,
    ! [U_2647,U_2646,U_2645,U_2644,U_2643] :
      ( 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,U_2647),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2646)),U_2645),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2644)))),U_2643))
      | ~ 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,U_2647),U_2646),U_2645),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2644))),U_2643)) ),
    inference(variable_rename,[status(thm)],[f_538_1]) ).

cnf(f_538_3,plain,
    ( 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,U_2647),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2646)),U_2645),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2644)))),U_2643))
    | ~ 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,U_2647),U_2646),U_2645),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2644))),U_2643)) ),
    inference(clausify,[status(thm)],[f_538_2]) ).

fof(f_539_1,plain,
    ! [F_1,D_2,E_2,E_b,S_2_1,Pa,E_1_1,S_0,Va,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_391_eval__evals_OFAssThrow2]) ).

fof(f_539_2,plain,
    ! [U_2657,U_2656,U_2655,U_2654,U_2653,U_2652,U_2651,U_2650,U_2649,U_2648] :
      ( 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,U_2652),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2651),U_2657),U_2656),U_2655)),U_2650),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2654)),U_2653))
      | ~ 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,U_2652),U_2655),U_2648),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2654)),U_2653))
      | ~ 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,U_2652),U_2651),U_2650),hAPP(val,exp(list(char)),val_1(list(char)),U_2649)),U_2648)) ),
    inference(variable_rename,[status(thm)],[f_539_1]) ).

cnf(f_539_3,plain,
    ( 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,U_2652),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2651),U_2657),U_2656),U_2655)),U_2650),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2654)),U_2653))
    | ~ 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,U_2652),U_2655),U_2648),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2654)),U_2653))
    | ~ 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,U_2652),U_2651),U_2650),hAPP(val,exp(list(char)),val_1(list(char)),U_2649)),U_2648)) ),
    inference(clausify,[status(thm)],[f_539_2]) ).

fof(f_540_1,plain,
    ! [F_1,D_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_392_red__reds_OFAccRed]) ).

fof(f_540_2,plain,
    ! [U_2664,U_2663,U_2662,U_2661,U_2660,U_2659,U_2658] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2662),U_2664),U_2663)),U_2661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2660),U_2664),U_2663)),U_2659))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2658)))
      | ~ 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)))),U_2662),U_2661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2660),U_2659))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2658))) ),
    inference(variable_rename,[status(thm)],[f_540_1]) ).

cnf(f_540_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2662),U_2664),U_2663)),U_2661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2660),U_2664),U_2663)),U_2659))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2658)))
    | ~ 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)))),U_2662),U_2661)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2660),U_2659))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2658))) ),
    inference(clausify,[status(thm)],[f_540_2]) ).

fof(f_541_1,plain,
    ! [Pa,Va,F_1,D_2,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_393_redp__redsp_OFAssThrow2]) ).

fof(f_541_2,plain,
    ! [U_2670,U_2669,U_2668,U_2667,U_2666,U_2665] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2670),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2669)),U_2668),U_2667),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2666))),U_2665),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2666)),U_2665)),
    inference(variable_rename,[status(thm)],[f_541_1]) ).

cnf(f_541_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2670),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2669)),U_2668),U_2667),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2666))),U_2665),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2666)),U_2665)),
    inference(clausify,[status(thm)],[f_541_2]) ).

fof(f_542_1,plain,
    ! [X_a,Eb] :
      ( ( hBOOL(hAPP(exp(X_a),bool,final(X_a),Eb))
        | ( ! [A_3] : Eb != hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))
          & ! [V] : Eb != hAPP(val,exp(X_a),val_1(X_a),V) ) )
      & ( ? [A_3] : Eb = hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))
        | ? [V] : Eb = hAPP(val,exp(X_a),val_1(X_a),V)
        | ~ hBOOL(hAPP(exp(X_a),bool,final(X_a),Eb)) ) ),
    inference(fof_nnf,[status(thm)],[fact_394_final__def]) ).

fof(f_542_2,plain,
    ! [U_2676,U_2675] :
      ( ( hBOOL(hAPP(exp(U_2676),bool,final(U_2676),U_2675))
        | ( ! [U_2674] : U_2675 != hAPP(exp(U_2676),exp(U_2676),throw(U_2676),hAPP(val,exp(U_2676),val_1(U_2676),hAPP(nat,val,addr,U_2674)))
          & ! [U_2673] : U_2675 != hAPP(val,exp(U_2676),val_1(U_2676),U_2673) ) )
      & ( ? [U_2672] : U_2675 = hAPP(exp(U_2676),exp(U_2676),throw(U_2676),hAPP(val,exp(U_2676),val_1(U_2676),hAPP(nat,val,addr,U_2672)))
        | ? [U_2671] : U_2675 = hAPP(val,exp(U_2676),val_1(U_2676),U_2671)
        | ~ hBOOL(hAPP(exp(U_2676),bool,final(U_2676),U_2675)) ) ),
    inference(variable_rename,[status(thm)],[f_542_1]) ).

fof(f_542_3,plain,
    ( ! [U_2680,U_2678] :
        ( hBOOL(hAPP(exp(U_2680),bool,final(U_2680),U_2678))
        | ( ! [U_2674] : U_2678 != hAPP(exp(U_2680),exp(U_2680),throw(U_2680),hAPP(val,exp(U_2680),val_1(U_2680),hAPP(nat,val,addr,U_2674)))
          & ! [U_2673] : U_2678 != hAPP(val,exp(U_2680),val_1(U_2680),U_2673) ) )
    & ! [U_2679,U_2677] :
        ( ? [U_2672] : U_2677 = hAPP(exp(U_2679),exp(U_2679),throw(U_2679),hAPP(val,exp(U_2679),val_1(U_2679),hAPP(nat,val,addr,U_2672)))
        | ? [U_2671] : U_2677 = hAPP(val,exp(U_2679),val_1(U_2679),U_2671)
        | ~ hBOOL(hAPP(exp(U_2679),bool,final(U_2679),U_2677)) ) ),
    inference(miniscope,[status(thm)],[f_542_2]) ).

fof(f_542_4,plain,
    ( ! [U_2680,U_2678] :
        ( hBOOL(hAPP(exp(U_2680),bool,final(U_2680),U_2678))
        | ( ! [U_2674] : U_2678 != hAPP(exp(U_2680),exp(U_2680),throw(U_2680),hAPP(val,exp(U_2680),val_1(U_2680),hAPP(nat,val,addr,U_2674)))
          & ! [U_2673] : U_2678 != hAPP(val,exp(U_2680),val_1(U_2680),U_2673) ) )
    & ! [U_2679,U_2677] :
        ( ? [U_2672] : U_2677 = hAPP(exp(U_2679),exp(U_2679),throw(U_2679),hAPP(val,exp(U_2679),val_1(U_2679),hAPP(nat,val,addr,U_2672)))
        | U_2677 = hAPP(val,exp(U_2679),val_1(U_2679),sK124(U_2679,U_2677))
        | ~ hBOOL(hAPP(exp(U_2679),bool,final(U_2679),U_2677)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK124]),skolemize(U_2671,sK124(U_2679,U_2677))],[f_542_3]) ).

fof(f_542_5,plain,
    ( ! [U_2680,U_2678] :
        ( hBOOL(hAPP(exp(U_2680),bool,final(U_2680),U_2678))
        | ( ! [U_2674] : U_2678 != hAPP(exp(U_2680),exp(U_2680),throw(U_2680),hAPP(val,exp(U_2680),val_1(U_2680),hAPP(nat,val,addr,U_2674)))
          & ! [U_2673] : U_2678 != hAPP(val,exp(U_2680),val_1(U_2680),U_2673) ) )
    & ! [U_2679,U_2677] :
        ( U_2677 = hAPP(exp(U_2679),exp(U_2679),throw(U_2679),hAPP(val,exp(U_2679),val_1(U_2679),hAPP(nat,val,addr,sK125(U_2679,U_2677))))
        | U_2677 = hAPP(val,exp(U_2679),val_1(U_2679),sK124(U_2679,U_2677))
        | ~ hBOOL(hAPP(exp(U_2679),bool,final(U_2679),U_2677)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK125]),skolemize(U_2672,sK125(U_2679,U_2677))],[f_542_4]) ).

cnf(f_542_6,plain,
    ( U_2677 = hAPP(exp(U_2679),exp(U_2679),throw(U_2679),hAPP(val,exp(U_2679),val_1(U_2679),hAPP(nat,val,addr,sK125(U_2679,U_2677))))
    | U_2677 = hAPP(val,exp(U_2679),val_1(U_2679),sK124(U_2679,U_2677))
    | ~ hBOOL(hAPP(exp(U_2679),bool,final(U_2679),U_2677)) ),
    inference(clausify,[status(thm)],[f_542_5]) ).

cnf(f_542_7,plain,
    ( U_2678 != hAPP(val,exp(U_2680),val_1(U_2680),U_2673)
    | hBOOL(hAPP(exp(U_2680),bool,final(U_2680),U_2678)) ),
    inference(clausify,[status(thm)],[f_542_5]) ).

cnf(f_542_8,plain,
    ( U_2678 != hAPP(exp(U_2680),exp(U_2680),throw(U_2680),hAPP(val,exp(U_2680),val_1(U_2680),hAPP(nat,val,addr,U_2674)))
    | hBOOL(hAPP(exp(U_2680),bool,final(U_2680),U_2678)) ),
    inference(clausify,[status(thm)],[f_542_5]) ).

fof(f_543_1,plain,
    ! [Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_395_ThrowReds]) ).

fof(f_543_2,plain,
    ! [U_2685,U_2684,U_2683,U_2682,U_2681] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2685)),U_2684)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2683)),U_2682))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2681))))
      | ~ 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)))),U_2685),U_2684)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2683),U_2682))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2681)))) ),
    inference(variable_rename,[status(thm)],[f_543_1]) ).

cnf(f_543_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2685)),U_2684)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2683)),U_2682))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2681))))
    | ~ 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)))),U_2685),U_2684)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2683),U_2682))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2681)))) ),
    inference(clausify,[status(thm)],[f_543_2]) ).

fof(f_544_1,plain,
    ! [Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_396_ThrowRedsThrow]) ).

fof(f_544_2,plain,
    ! [U_2690,U_2689,U_2688,U_2687,U_2686] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2690)),U_2689)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2688)),U_2687))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2686))))
      | ~ 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)))),U_2690),U_2689)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2688)),U_2687))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2686)))) ),
    inference(variable_rename,[status(thm)],[f_544_1]) ).

cnf(f_544_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2690)),U_2689)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2688)),U_2687))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2686))))
    | ~ 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)))),U_2690),U_2689)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2688)),U_2687))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2686)))) ),
    inference(clausify,[status(thm)],[f_544_2]) ).

fof(f_545_1,plain,
    ! [Va_1,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_397_red__reds_OLAssThrow]) ).

fof(f_545_2,plain,
    ! [U_2694,U_2693,U_2692,U_2691] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2694),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2693))),U_2692)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2693)),U_2692))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2691))),
    inference(variable_rename,[status(thm)],[f_545_1]) ).

cnf(f_545_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2694),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2693))),U_2692)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2693)),U_2692))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2691))),
    inference(clausify,[status(thm)],[f_545_2]) ).

fof(f_546_1,plain,
    ! [Eb,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_398_red__reds_OSeqThrow]) ).

fof(f_546_2,plain,
    ! [U_2698,U_2697,U_2696,U_2695] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2698)),U_2697)),U_2696)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2698)),U_2696))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2695))),
    inference(variable_rename,[status(thm)],[f_546_1]) ).

cnf(f_546_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2698)),U_2697)),U_2696)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2698)),U_2696))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2695))),
    inference(clausify,[status(thm)],[f_546_2]) ).

fof(f_547_1,plain,
    ! [Eb,F_1,D_2,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_399_red__reds_OFAssThrow1]) ).

fof(f_547_2,plain,
    ! [U_2704,U_2703,U_2702,U_2701,U_2700,U_2699] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2704)),U_2703),U_2702),U_2701)),U_2700)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2704)),U_2700))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2699))),
    inference(variable_rename,[status(thm)],[f_547_1]) ).

cnf(f_547_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2704)),U_2703),U_2702),U_2701)),U_2700)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2704)),U_2700))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2699))),
    inference(clausify,[status(thm)],[f_547_2]) ).

fof(f_548_1,plain,
    ! [Pa,Va_1,Ta,A_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),
    inference(fof_nnf,[status(thm)],[fact_400_redp__redsp_OBlockThrow]) ).

fof(f_548_2,plain,
    ! [U_2709,U_2708,U_2707,U_2706,U_2705] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2709),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2708),U_2707),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2706))))),U_2705),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2706)))),U_2705)),
    inference(variable_rename,[status(thm)],[f_548_1]) ).

cnf(f_548_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2709),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2708),U_2707),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2706))))),U_2705),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2706)))),U_2705)),
    inference(clausify,[status(thm)],[f_548_2]) ).

fof(f_549_1,plain,
    ! [F_1,D_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),E_b),F_1),D_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_401_FAccReds]) ).

fof(f_549_2,plain,
    ! [U_2716,U_2715,U_2714,U_2713,U_2712,U_2711,U_2710] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2714),U_2716),U_2715)),U_2713)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2712),U_2716),U_2715)),U_2711))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2710))))
      | ~ 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)))),U_2714),U_2713)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2712),U_2711))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2710)))) ),
    inference(variable_rename,[status(thm)],[f_549_1]) ).

cnf(f_549_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2714),U_2716),U_2715)),U_2713)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_2712),U_2716),U_2715)),U_2711))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2710))))
    | ~ 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)))),U_2714),U_2713)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2712),U_2711))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2710)))) ),
    inference(clausify,[status(thm)],[f_549_2]) ).

fof(f_550_1,plain,
    ! [Va,F_1,D_2,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),F_1),D_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_402_red__reds_OFAssThrow2]) ).

fof(f_550_2,plain,
    ! [U_2722,U_2721,U_2720,U_2719,U_2718,U_2717] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2722)),U_2721),U_2720),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2719))),U_2718)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2719)),U_2718))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2717))),
    inference(variable_rename,[status(thm)],[f_550_1]) ).

cnf(f_550_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_2722)),U_2721),U_2720),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2719))),U_2718)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2719)),U_2718))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2717))),
    inference(clausify,[status(thm)],[f_550_2]) ).

fof(f_551_1,plain,
    ! [Va_1,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_403_LAssRedsThrow]) ).

fof(f_551_2,plain,
    ! [U_2728,U_2727,U_2726,U_2725,U_2724,U_2723] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2728),U_2727)),U_2726)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2725)),U_2724))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2723))))
      | ~ 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)))),U_2727),U_2726)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2725)),U_2724))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2723)))) ),
    inference(variable_rename,[status(thm)],[f_551_1]) ).

cnf(f_551_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2728),U_2727)),U_2726)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2725)),U_2724))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2723))))
    | ~ 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)))),U_2727),U_2726)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2725)),U_2724))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2723)))) ),
    inference(clausify,[status(thm)],[f_551_2]) ).

fof(f_552_1,plain,
    ! [E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),Eb),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_404_SeqRedsThrow]) ).

fof(f_552_2,plain,
    ! [U_2734,U_2733,U_2732,U_2731,U_2730,U_2729] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2733),U_2734)),U_2732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2731)),U_2730))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2729))))
      | ~ 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)))),U_2733),U_2732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2731)),U_2730))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2729)))) ),
    inference(variable_rename,[status(thm)],[f_552_1]) ).

cnf(f_552_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2733),U_2734)),U_2732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2731)),U_2730))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2729))))
    | ~ 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)))),U_2733),U_2732)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2731)),U_2730))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2729)))) ),
    inference(clausify,[status(thm)],[f_552_2]) ).

fof(f_553_1,plain,
    ! [F_1,D_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_405_FAssRedsThrow1]) ).

fof(f_553_2,plain,
    ! [U_2742,U_2741,U_2740,U_2739,U_2738,U_2737,U_2736,U_2735] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2739),U_2742),U_2741),U_2740)),U_2738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2737)),U_2736))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2735))))
      | ~ 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)))),U_2739),U_2738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2737)),U_2736))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2735)))) ),
    inference(variable_rename,[status(thm)],[f_553_1]) ).

cnf(f_553_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2739),U_2742),U_2741),U_2740)),U_2738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2737)),U_2736))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2735))))
    | ~ 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)))),U_2739),U_2738)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2737)),U_2736))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2735)))) ),
    inference(clausify,[status(thm)],[f_553_2]) ).

fof(f_554_1,plain,
    ! [F_1,D_2,E_2,Eb,S_2_1,E_1_1,S_0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_406_FAssRedsThrow2]) ).

fof(f_554_2,plain,
    ! [U_2752,U_2751,U_2750,U_2749,U_2748,U_2747,U_2746,U_2745,U_2744,U_2743] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2747),U_2752),U_2751),U_2750)),U_2746)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2749)),U_2748))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743))))
      | ~ 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)))),U_2750),U_2744)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2749)),U_2748))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743))))
      | ~ 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)))),U_2747),U_2746)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2745)),U_2744))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743)))) ),
    inference(variable_rename,[status(thm)],[f_554_1]) ).

cnf(f_554_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_2747),U_2752),U_2751),U_2750)),U_2746)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2749)),U_2748))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743))))
    | ~ 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)))),U_2750),U_2744)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2749)),U_2748))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743))))
    | ~ 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)))),U_2747),U_2746)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2745)),U_2744))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2743)))) ),
    inference(clausify,[status(thm)],[f_554_2]) ).

fof(f_555_1,plain,
    ! [Va_1,Ta,A_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_407_red__reds_OBlockThrow]) ).

fof(f_555_2,plain,
    ! [U_2757,U_2756,U_2755,U_2754,U_2753] : 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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2757),U_2756),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2755))))),U_2754)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2755)))),U_2754))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2753))),
    inference(variable_rename,[status(thm)],[f_555_1]) ).

cnf(f_555_3,plain,
    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(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2757),U_2756),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2755))))),U_2754)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2755)))),U_2754))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_2753))),
    inference(clausify,[status(thm)],[f_555_2]) ).

fof(f_556_1,plain,
    ! [Pa,Va_1,Ta,Va,A_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),
    inference(fof_nnf,[status(thm)],[fact_408_redp__redsp_OInitBlockThrow]) ).

fof(f_556_2,plain,
    ! [U_2763,U_2762,U_2761,U_2760,U_2759,U_2758] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2763),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2762),U_2761),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2762),hAPP(val,exp(list(char)),val_1(list(char)),U_2760))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2759)))))),U_2758),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2759)))),U_2758)),
    inference(variable_rename,[status(thm)],[f_556_1]) ).

cnf(f_556_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2763),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_2762),U_2761),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2762),hAPP(val,exp(list(char)),val_1(list(char)),U_2760))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2759)))))),U_2758),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2759)))),U_2758)),
    inference(clausify,[status(thm)],[f_556_2]) ).

fof(f_557_1,plain,
    ! [Pa,Va_1,Eb,S,E_b,S_3] :
      ( ? [E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1) )
      | ( ? [V,H,L_4] :
            ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),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_4)))
            & S_3 = hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_4),Va_1),hAPP(val,option(val),some(val),V))) )
        & E_b = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),Eb)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_409_eval__cases_I4_J]) ).

fof(f_557_2,plain,
    ! [U_2773,U_2772,U_2771,U_2770,U_2769,U_2768] :
      ( ? [U_2767] :
          ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767)),U_2768))
          & U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767) )
      | ( ? [U_2766,U_2765,U_2764] :
            ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),U_2766)),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))),U_2765),U_2764)))
            & U_2768 = 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))),U_2765),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2764),U_2772),hAPP(val,option(val),some(val),U_2766))) )
        & U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(variable_rename,[status(thm)],[f_557_1]) ).

fof(f_557_3,plain,
    ! [U_2773,U_2772,U_2771,U_2770,U_2769,U_2768] :
      ( ? [U_2767] :
          ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767)),U_2768))
          & U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767) )
      | ( ? [U_2765,U_2764] :
            ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),U_2765),U_2764)))
            & U_2768 = 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))),U_2765),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2764),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)))) )
        & U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK126]),skolemize(U_2766,sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))],[f_557_2]) ).

fof(f_557_4,plain,
    ! [U_2773,U_2772,U_2771,U_2770,U_2769,U_2768] :
      ( ? [U_2767] :
          ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767)),U_2768))
          & U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767) )
      | ( ? [U_2764] :
            ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),U_2764)))
            & U_2768 = 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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2764),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)))) )
        & U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK127]),skolemize(U_2765,sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))],[f_557_3]) ).

fof(f_557_5,plain,
    ! [U_2773,U_2772,U_2771,U_2770,U_2769,U_2768] :
      ( ? [U_2767] :
          ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767)),U_2768))
          & U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2767) )
      | ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
        & U_2768 = 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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
        & U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK128]),skolemize(U_2764,sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))],[f_557_4]) ).

fof(f_557_6,plain,
    ! [U_2773,U_2772,U_2771,U_2770,U_2769,U_2768] :
      ( ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),U_2768))
        & U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)) )
      | ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
        & U_2768 = 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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
        & U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK129]),skolemize(U_2767,sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))],[f_557_5]) ).

cnf(f_557_7,plain,
    ( U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))
    | U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

cnf(f_557_8,plain,
    ( 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),U_2768))
    | U_2769 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

cnf(f_557_9,plain,
    ( U_2768 = 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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
    | U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

cnf(f_557_10,plain,
    ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
    | U_2769 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

cnf(f_557_11,plain,
    ( U_2768 = 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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),U_2772),hAPP(val,option(val),some(val),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
    | 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),U_2768))
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

cnf(f_557_12,plain,
    ( 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,U_2773),U_2771),U_2770),hAPP(val,exp(list(char)),val_1(list(char)),sK126(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),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))),sK127(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768)),sK128(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))))
    | 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,U_2773),U_2771),U_2770),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK129(U_2773,U_2772,U_2771,U_2770,U_2769,U_2768))),U_2768))
    | ~ 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,U_2773),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_2772),U_2771)),U_2770),U_2769),U_2768)) ),
    inference(clausify,[status(thm)],[f_557_6]) ).

fof(f_558_1,plain,
    ! [X_a,A_1,B,Pa,Q_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa)))
      | ? [X_2,Y_2] :
          ( ti(X_a,X_2) != ti(X_a,Y_2)
          & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),Q_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_1),X_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),Pa))) )
      | ~ 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_1),B)),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),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),semilattice_sup_sup(fun(product_prod(X_a,X_a),bool)),Pa),Q_1)))) ),
    inference(fof_nnf,[status(thm)],[fact_410_rtrancl__Un__separatorE]) ).

fof(f_558_2,plain,
    ! [U_2780,U_2779,U_2778,U_2777,U_2776] :
      ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
      | ? [U_2775,U_2774] :
          ( ti(U_2780,U_2775) != ti(U_2780,U_2774)
          & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2775),U_2774)),U_2776))
          & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2775)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(variable_rename,[status(thm)],[f_558_1]) ).

fof(f_558_3,plain,
    ! [U_2780,U_2779,U_2778,U_2777,U_2776] :
      ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
      | ? [U_2775] :
          ( ? [U_2774] :
              ( ti(U_2780,U_2775) != ti(U_2780,U_2774)
              & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2775),U_2774)),U_2776)) )
          & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2775)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(miniscope,[status(thm)],[f_558_2]) ).

fof(f_558_4,plain,
    ! [U_2780,U_2779,U_2778,U_2777,U_2776] :
      ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
      | ( ? [U_2774] :
            ( ti(U_2780,sK130(U_2780,U_2779,U_2778,U_2777,U_2776)) != ti(U_2780,U_2774)
            & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),sK130(U_2780,U_2779,U_2778,U_2777,U_2776)),U_2774)),U_2776)) )
        & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),sK130(U_2780,U_2779,U_2778,U_2777,U_2776))),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK130]),skolemize(U_2775,sK130(U_2780,U_2779,U_2778,U_2777,U_2776))],[f_558_3]) ).

fof(f_558_5,plain,
    ! [U_2780,U_2779,U_2778,U_2777,U_2776] :
      ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
      | ( ti(U_2780,sK130(U_2780,U_2779,U_2778,U_2777,U_2776)) != ti(U_2780,sK131(U_2780,U_2779,U_2778,U_2777,U_2776))
        & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),sK130(U_2780,U_2779,U_2778,U_2777,U_2776)),sK131(U_2780,U_2779,U_2778,U_2777,U_2776))),U_2776))
        & hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),sK130(U_2780,U_2779,U_2778,U_2777,U_2776))),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK131]),skolemize(U_2774,sK131(U_2780,U_2779,U_2778,U_2777,U_2776))],[f_558_4]) ).

cnf(f_558_6,plain,
    ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),sK130(U_2780,U_2779,U_2778,U_2777,U_2776))),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
    | hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(clausify,[status(thm)],[f_558_5]) ).

cnf(f_558_7,plain,
    ( hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),sK130(U_2780,U_2779,U_2778,U_2777,U_2776)),sK131(U_2780,U_2779,U_2778,U_2777,U_2776))),U_2776))
    | hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(clausify,[status(thm)],[f_558_5]) ).

cnf(f_558_8,plain,
    ( ti(U_2780,sK130(U_2780,U_2779,U_2778,U_2777,U_2776)) != ti(U_2780,sK131(U_2780,U_2779,U_2778,U_2777,U_2776))
    | hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),U_2777)))
    | ~ hBOOL(hAPP(fun(product_prod(U_2780,U_2780),bool),bool,hAPP(product_prod(U_2780,U_2780),fun(fun(product_prod(U_2780,U_2780),bool),bool),member(product_prod(U_2780,U_2780)),hAPP(U_2780,product_prod(U_2780,U_2780),hAPP(U_2780,fun(U_2780,product_prod(U_2780,U_2780)),product_Pair(U_2780,U_2780),U_2779),U_2778)),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),transitive_rtrancl(U_2780),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool),hAPP(fun(product_prod(U_2780,U_2780),bool),fun(fun(product_prod(U_2780,U_2780),bool),fun(product_prod(U_2780,U_2780),bool)),semilattice_sup_sup(fun(product_prod(U_2780,U_2780),bool)),U_2777),U_2776)))) ),
    inference(clausify,[status(thm)],[f_558_5]) ).

fof(f_559_1,plain,
    ! [X_a,E] :
      ( ? [A_3] : E = hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))
      | ? [V] : E = hAPP(val,exp(X_a),val_1(X_a),V)
      | ~ hBOOL(hAPP(exp(X_a),bool,final(X_a),E)) ),
    inference(fof_nnf,[status(thm)],[fact_411_finalE]) ).

fof(f_559_2,plain,
    ! [U_2784,U_2783] :
      ( ? [U_2782] : U_2783 = hAPP(exp(U_2784),exp(U_2784),throw(U_2784),hAPP(val,exp(U_2784),val_1(U_2784),hAPP(nat,val,addr,U_2782)))
      | ? [U_2781] : U_2783 = hAPP(val,exp(U_2784),val_1(U_2784),U_2781)
      | ~ hBOOL(hAPP(exp(U_2784),bool,final(U_2784),U_2783)) ),
    inference(variable_rename,[status(thm)],[f_559_1]) ).

fof(f_559_3,plain,
    ! [U_2784,U_2783] :
      ( ? [U_2782] : U_2783 = hAPP(exp(U_2784),exp(U_2784),throw(U_2784),hAPP(val,exp(U_2784),val_1(U_2784),hAPP(nat,val,addr,U_2782)))
      | U_2783 = hAPP(val,exp(U_2784),val_1(U_2784),sK132(U_2784,U_2783))
      | ~ hBOOL(hAPP(exp(U_2784),bool,final(U_2784),U_2783)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK132]),skolemize(U_2781,sK132(U_2784,U_2783))],[f_559_2]) ).

fof(f_559_4,plain,
    ! [U_2784,U_2783] :
      ( U_2783 = hAPP(exp(U_2784),exp(U_2784),throw(U_2784),hAPP(val,exp(U_2784),val_1(U_2784),hAPP(nat,val,addr,sK133(U_2784,U_2783))))
      | U_2783 = hAPP(val,exp(U_2784),val_1(U_2784),sK132(U_2784,U_2783))
      | ~ hBOOL(hAPP(exp(U_2784),bool,final(U_2784),U_2783)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK133]),skolemize(U_2782,sK133(U_2784,U_2783))],[f_559_3]) ).

cnf(f_559_5,plain,
    ( U_2783 = hAPP(exp(U_2784),exp(U_2784),throw(U_2784),hAPP(val,exp(U_2784),val_1(U_2784),hAPP(nat,val,addr,sK133(U_2784,U_2783))))
    | U_2783 = hAPP(val,exp(U_2784),val_1(U_2784),sK132(U_2784,U_2783))
    | ~ hBOOL(hAPP(exp(U_2784),bool,final(U_2784),U_2783)) ),
    inference(clausify,[status(thm)],[f_559_4]) ).

fof(f_560_1,plain,
    ! [Pa,E_1_1,E_2,S,E_b,S_3] :
      ( ? [E_4] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4) )
      | ? [V,S_1_1] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),E_b),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),S_1_1)) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_412_eval__cases_I9_J]) ).

fof(f_560_2,plain,
    ! [U_2793,U_2792,U_2791,U_2790,U_2789,U_2788] :
      ( ? [U_2787] :
          ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787)),U_2788))
          & U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787) )
      | ? [U_2786,U_2785] :
          ( 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,U_2793),U_2791),U_2785),U_2789),U_2788))
          & 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),U_2786)),U_2785)) )
      | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(variable_rename,[status(thm)],[f_560_1]) ).

fof(f_560_3,plain,
    ! [U_2793,U_2792,U_2791,U_2790,U_2789,U_2788] :
      ( ? [U_2787] :
          ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787)),U_2788))
          & U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787) )
      | ? [U_2785] :
          ( 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,U_2793),U_2791),U_2785),U_2789),U_2788))
          & 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),U_2785)) )
      | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK134]),skolemize(U_2786,sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))],[f_560_2]) ).

fof(f_560_4,plain,
    ! [U_2793,U_2792,U_2791,U_2790,U_2789,U_2788] :
      ( ? [U_2787] :
          ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787)),U_2788))
          & U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2787) )
      | ( 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,U_2793),U_2791),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)),U_2789),U_2788))
        & 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))) )
      | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK135]),skolemize(U_2785,sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))],[f_560_3]) ).

fof(f_560_5,plain,
    ! [U_2793,U_2792,U_2791,U_2790,U_2789,U_2788] :
      ( ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),U_2788))
        & U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)) )
      | ( 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,U_2793),U_2791),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)),U_2789),U_2788))
        & 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))) )
      | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK136]),skolemize(U_2787,sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))],[f_560_4]) ).

cnf(f_560_6,plain,
    ( U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))
    | 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)))
    | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(clausify,[status(thm)],[f_560_5]) ).

cnf(f_560_7,plain,
    ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),U_2788))
    | 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,U_2793),U_2792),U_2790),hAPP(val,exp(list(char)),val_1(list(char)),sK134(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)))
    | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(clausify,[status(thm)],[f_560_5]) ).

cnf(f_560_8,plain,
    ( U_2789 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))
    | 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,U_2793),U_2791),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)),U_2789),U_2788))
    | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(clausify,[status(thm)],[f_560_5]) ).

cnf(f_560_9,plain,
    ( 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,U_2793),U_2792),U_2790),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK136(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788))),U_2788))
    | 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,U_2793),U_2791),sK135(U_2793,U_2792,U_2791,U_2790,U_2789,U_2788)),U_2789),U_2788))
    | ~ 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,U_2793),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_2792),U_2791)),U_2790),U_2789),U_2788)) ),
    inference(clausify,[status(thm)],[f_560_5]) ).

fof(f_561_1,plain,
    ! [Nat_1] : unit != hAPP(nat,val,addr,Nat_1),
    inference(fof_nnf,[status(thm)],[fact_413_val_Osimps_I10_J]) ).

fof(f_561_2,plain,
    ! [U_2794] : unit != hAPP(nat,val,addr,U_2794),
    inference(variable_rename,[status(thm)],[f_561_1]) ).

cnf(f_561_3,plain,
    unit != hAPP(nat,val,addr,U_2794),
    inference(clausify,[status(thm)],[f_561_2]) ).

fof(f_562_1,plain,
    ! [Nat_1] : hAPP(nat,val,addr,Nat_1) != unit,
    inference(fof_nnf,[status(thm)],[fact_414_val_Osimps_I11_J]) ).

fof(f_562_2,plain,
    ! [U_2795] : hAPP(nat,val,addr,U_2795) != unit,
    inference(variable_rename,[status(thm)],[f_562_1]) ).

cnf(f_562_3,plain,
    hAPP(nat,val,addr,U_2795) != unit,
    inference(clausify,[status(thm)],[f_562_2]) ).

fof(f_563_1,plain,
    ! [Nat_2,Nat] :
      ( ( hAPP(nat,val,addr,Nat_2) = hAPP(nat,val,addr,Nat)
        | Nat_2 != Nat )
      & ( Nat_2 = Nat
        | hAPP(nat,val,addr,Nat_2) != hAPP(nat,val,addr,Nat) ) ),
    inference(fof_nnf,[status(thm)],[fact_415_val_Osimps_I3_J]) ).

fof(f_563_2,plain,
    ! [U_2797,U_2796] :
      ( ( hAPP(nat,val,addr,U_2797) = hAPP(nat,val,addr,U_2796)
        | U_2797 != U_2796 )
      & ( U_2797 = U_2796
        | hAPP(nat,val,addr,U_2797) != hAPP(nat,val,addr,U_2796) ) ),
    inference(variable_rename,[status(thm)],[f_563_1]) ).

fof(f_563_3,plain,
    ( ! [U_2801,U_2799] :
        ( hAPP(nat,val,addr,U_2801) = hAPP(nat,val,addr,U_2799)
        | U_2801 != U_2799 )
    & ! [U_2800,U_2798] :
        ( U_2800 = U_2798
        | hAPP(nat,val,addr,U_2800) != hAPP(nat,val,addr,U_2798) ) ),
    inference(miniscope,[status(thm)],[f_563_2]) ).

cnf(f_563_4,plain,
    ( U_2800 = U_2798
    | hAPP(nat,val,addr,U_2800) != hAPP(nat,val,addr,U_2798) ),
    inference(clausify,[status(thm)],[f_563_3]) ).

cnf(f_563_5,plain,
    ( hAPP(nat,val,addr,U_2801) = hAPP(nat,val,addr,U_2799)
    | U_2801 != U_2799 ),
    inference(clausify,[status(thm)],[f_563_3]) ).

fof(f_564_1,plain,
    ! [E_2,Va_1,E_2_1,H_2,L_2,C_1,D_2,Fs,E_1_1,S_0,A_1,H_1,L_1_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_1_1,Va_1)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_2_1))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_416_TryCatchRedsFinal]) ).

fof(f_564_2,plain,
    ! [U_2815,U_2814,U_2813,U_2812,U_2811,U_2810,U_2809,U_2808,U_2807,U_2806,U_2805,U_2804,U_2803,U_2802] :
      ( 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)),U_2807),U_2810),U_2814),U_2815)),U_2806)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2813),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))),U_2812),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2811),U_2814),hAPP(list(char),option(val),U_2803,U_2814)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_2813))
      | ~ 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)))),U_2815),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))),U_2804),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2803),U_2814),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_2805)))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2813),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))),U_2812),U_2811)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2809),U_2810)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_2802))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2804,U_2805) != 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))),U_2809),U_2808))
      | ~ 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)))),U_2807),U_2806)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2805)))),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))),U_2804),U_2803)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802)))) ),
    inference(variable_rename,[status(thm)],[f_564_1]) ).

cnf(f_564_3,plain,
    ( 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)),U_2807),U_2810),U_2814),U_2815)),U_2806)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2813),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))),U_2812),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2811),U_2814),hAPP(list(char),option(val),U_2803,U_2814)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802))))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_2813))
    | ~ 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)))),U_2815),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))),U_2804),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_2803),U_2814),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_2805)))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_2813),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))),U_2812),U_2811)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802))))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2809),U_2810)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_2802))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2804,U_2805) != 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))),U_2809),U_2808))
    | ~ 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)))),U_2807),U_2806)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2805)))),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))),U_2804),U_2803)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2802)))) ),
    inference(clausify,[status(thm)],[f_564_2]) ).

fof(f_565_1,plain,
    ! [Ta,Pa,Hb,Ea,Eb,T_r] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta))
      | ~ hBOOL(hAPP(ty,bool,is_refT,T_r))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),T_r)) ),
    inference(fof_nnf,[status(thm)],[fact_417_WTrtThrow]) ).

fof(f_565_2,plain,
    ! [U_2821,U_2820,U_2819,U_2818,U_2817,U_2816] :
      ( 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_1,U_2820),U_2819),U_2818),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2817)),U_2821))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_2816))
      | ~ 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_1,U_2820),U_2819),U_2818),U_2817),U_2816)) ),
    inference(variable_rename,[status(thm)],[f_565_1]) ).

cnf(f_565_3,plain,
    ( 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_1,U_2820),U_2819),U_2818),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2817)),U_2821))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_2816))
    | ~ 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_1,U_2820),U_2819),U_2818),U_2817),U_2816)) ),
    inference(clausify,[status(thm)],[f_565_2]) ).

fof(f_566_1,plain,
    ! [Bop_2,E_2,Eb,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_418_BinOpRedsThrow2]) ).

fof(f_566_2,plain,
    ! [U_2830,U_2829,U_2828,U_2827,U_2826,U_2825,U_2824,U_2823,U_2822] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2826),U_2830),U_2829)),U_2825)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2828)),U_2827))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822))))
      | ~ 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)))),U_2829),U_2823)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2828)),U_2827))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822))))
      | ~ 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)))),U_2826),U_2825)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2824)),U_2823))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822)))) ),
    inference(variable_rename,[status(thm)],[f_566_1]) ).

cnf(f_566_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2826),U_2830),U_2829)),U_2825)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2828)),U_2827))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822))))
    | ~ 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)))),U_2829),U_2823)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_2828)),U_2827))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822))))
    | ~ 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)))),U_2826),U_2825)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_2824)),U_2823))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2822)))) ),
    inference(clausify,[status(thm)],[f_566_2]) ).

fof(f_567_1,plain,
    ! [Va_1,E_2,C_1,D_2,Fs,E_1_1,S,A_1,Hb,Lb,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_419_TryRedsFail]) ).

fof(f_567_2,plain,
    ! [U_2841,U_2840,U_2839,U_2838,U_2837,U_2836,U_2835,U_2834,U_2833,U_2832,U_2831] :
      ( 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)),U_2836),U_2839),U_2841),U_2840)),U_2835)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2834)))),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))),U_2833),U_2832)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2831))))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2838),U_2839)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_2831))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2833,U_2834) != 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))),U_2838),U_2837))
      | ~ 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)))),U_2836),U_2835)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2834)))),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))),U_2833),U_2832)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2831)))) ),
    inference(variable_rename,[status(thm)],[f_567_1]) ).

cnf(f_567_3,plain,
    ( 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)),U_2836),U_2839),U_2841),U_2840)),U_2835)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2834)))),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))),U_2833),U_2832)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2831))))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_2838),U_2839)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_2831))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2833,U_2834) != 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))),U_2838),U_2837))
    | ~ 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)))),U_2836),U_2835)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_2834)))),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))),U_2833),U_2832)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_2831)))) ),
    inference(clausify,[status(thm)],[f_567_2]) ).

fof(f_568_1,plain,
    ! [X_a,Pa,Hb] :
      ( ( 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb))
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
        | ? [A_3,Obj] :
            ( ~ hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Obj) ) )
      & ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
          & ! [A_3,Obj] :
              ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),Obj))
              | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) != hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Obj) ) )
        | ~ 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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(X_a),Pa),Hb)) ) ),
    inference(fof_nnf,[status(thm)],[fact_420_hconf__def]) ).

fof(f_568_2,plain,
    ! [U_2848,U_2847,U_2846] :
      ( ( 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,U_2848)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2848),U_2847),U_2846))
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2846))
        | ? [U_2845,U_2844] :
            ( ~ hBOOL(hAPP(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(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,U_2848)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2848),U_2847),U_2846),U_2844))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2846,U_2845) = 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)))),U_2844) ) )
      & ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2846))
          & ! [U_2843,U_2842] :
              ( hBOOL(hAPP(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(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,U_2848)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2848),U_2847),U_2846),U_2842))
              | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2846,U_2843) != 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)))),U_2842) ) )
        | ~ 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,U_2848)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2848),U_2847),U_2846)) ) ),
    inference(variable_rename,[status(thm)],[f_568_1]) ).

fof(f_568_3,plain,
    ( ! [U_2854,U_2852,U_2850] :
        ( 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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2854),U_2852),U_2850))
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2850))
        | ? [U_2845,U_2844] :
            ( ~ hBOOL(hAPP(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(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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2854),U_2852),U_2850),U_2844))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2850,U_2845) = 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)))),U_2844) ) )
    & ! [U_2853,U_2851,U_2849] :
        ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2849))
          & ! [U_2843,U_2842] :
              ( hBOOL(hAPP(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(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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2853),U_2851),U_2849),U_2842))
              | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2849,U_2843) != 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)))),U_2842) ) )
        | ~ 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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2853),U_2851),U_2849)) ) ),
    inference(miniscope,[status(thm)],[f_568_2]) ).

fof(f_568_4,plain,
    ( ! [U_2854,U_2852,U_2850] :
        ( 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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2854),U_2852),U_2850))
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2850))
        | ? [U_2844] :
            ( ~ hBOOL(hAPP(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(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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2854),U_2852),U_2850),U_2844))
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2850,sK137(U_2854,U_2852,U_2850)) = 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)))),U_2844) ) )
    & ! [U_2853,U_2851,U_2849] :
        ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2849))
          & ! [U_2843,U_2842] :
              ( hBOOL(hAPP(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(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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2853),U_2851),U_2849),U_2842))
              | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2849,U_2843) != 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)))),U_2842) ) )
        | ~ 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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2853),U_2851),U_2849)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK137]),skolemize(U_2845,sK137(U_2854,U_2852,U_2850))],[f_568_3]) ).

fof(f_568_5,plain,
    ( ! [U_2854,U_2852,U_2850] :
        ( 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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2854),U_2852),U_2850))
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2850))
        | ( ~ hBOOL(hAPP(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(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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2854),U_2852),U_2850),sK138(U_2854,U_2852,U_2850)))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2850,sK137(U_2854,U_2852,U_2850)) = 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)))),sK138(U_2854,U_2852,U_2850)) ) )
    & ! [U_2853,U_2851,U_2849] :
        ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2849))
          & ! [U_2843,U_2842] :
              ( hBOOL(hAPP(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(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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2853),U_2851),U_2849),U_2842))
              | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2849,U_2843) != 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)))),U_2842) ) )
        | ~ 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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2853),U_2851),U_2849)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK138]),skolemize(U_2844,sK138(U_2854,U_2852,U_2850))],[f_568_4]) ).

cnf(f_568_6,plain,
    ( hBOOL(hAPP(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(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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2853),U_2851),U_2849),U_2842))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2849,U_2843) != 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)))),U_2842)
    | ~ 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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2853),U_2851),U_2849)) ),
    inference(clausify,[status(thm)],[f_568_5]) ).

cnf(f_568_7,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2849))
    | ~ 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,U_2853)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2853),U_2851),U_2849)) ),
    inference(clausify,[status(thm)],[f_568_5]) ).

cnf(f_568_8,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_2850,sK137(U_2854,U_2852,U_2850)) = 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)))),sK138(U_2854,U_2852,U_2850))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2850))
    | 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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2854),U_2852),U_2850)) ),
    inference(clausify,[status(thm)],[f_568_5]) ).

cnf(f_568_9,plain,
    ( ~ hBOOL(hAPP(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(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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_2854),U_2852),U_2850),sK138(U_2854,U_2852,U_2850)))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_2850))
    | 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,U_2854)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool),hconf(U_2854),U_2852),U_2850)) ),
    inference(clausify,[status(thm)],[f_568_5]) ).

fof(f_569_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_421_exp_Osimps_I114_J]) ).

fof(f_569_2,plain,
    ! [U_2862,U_2861,U_2860,U_2859,U_2858,U_2857,U_2856,U_2855] : hAPP(exp(U_2862),exp(U_2862),hAPP(bop,fun(exp(U_2862),exp(U_2862)),hAPP(exp(U_2862),fun(bop,fun(exp(U_2862),exp(U_2862))),binOp(U_2862),U_2861),U_2860),U_2859) != hAPP(exp(U_2862),exp(U_2862),hAPP(U_2862,fun(exp(U_2862),exp(U_2862)),hAPP(list(char),fun(U_2862,fun(exp(U_2862),exp(U_2862))),hAPP(exp(U_2862),fun(list(char),fun(U_2862,fun(exp(U_2862),exp(U_2862)))),tryCatch(U_2862),U_2858),U_2857),U_2856),U_2855),
    inference(variable_rename,[status(thm)],[f_569_1]) ).

cnf(f_569_3,plain,
    hAPP(exp(U_2862),exp(U_2862),hAPP(bop,fun(exp(U_2862),exp(U_2862)),hAPP(exp(U_2862),fun(bop,fun(exp(U_2862),exp(U_2862))),binOp(U_2862),U_2861),U_2860),U_2859) != hAPP(exp(U_2862),exp(U_2862),hAPP(U_2862,fun(exp(U_2862),exp(U_2862)),hAPP(list(char),fun(U_2862,fun(exp(U_2862),exp(U_2862))),hAPP(exp(U_2862),fun(list(char),fun(U_2862,fun(exp(U_2862),exp(U_2862)))),tryCatch(U_2862),U_2858),U_2857),U_2856),U_2855),
    inference(clausify,[status(thm)],[f_569_2]) ).

fof(f_570_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_422_exp_Osimps_I115_J]) ).

fof(f_570_2,plain,
    ! [U_2870,U_2869,U_2868,U_2867,U_2866,U_2865,U_2864,U_2863] : hAPP(exp(U_2870),exp(U_2870),hAPP(U_2870,fun(exp(U_2870),exp(U_2870)),hAPP(list(char),fun(U_2870,fun(exp(U_2870),exp(U_2870))),hAPP(exp(U_2870),fun(list(char),fun(U_2870,fun(exp(U_2870),exp(U_2870)))),tryCatch(U_2870),U_2869),U_2868),U_2867),U_2866) != hAPP(exp(U_2870),exp(U_2870),hAPP(bop,fun(exp(U_2870),exp(U_2870)),hAPP(exp(U_2870),fun(bop,fun(exp(U_2870),exp(U_2870))),binOp(U_2870),U_2865),U_2864),U_2863),
    inference(variable_rename,[status(thm)],[f_570_1]) ).

cnf(f_570_3,plain,
    hAPP(exp(U_2870),exp(U_2870),hAPP(U_2870,fun(exp(U_2870),exp(U_2870)),hAPP(list(char),fun(U_2870,fun(exp(U_2870),exp(U_2870))),hAPP(exp(U_2870),fun(list(char),fun(U_2870,fun(exp(U_2870),exp(U_2870)))),tryCatch(U_2870),U_2869),U_2868),U_2867),U_2866) != hAPP(exp(U_2870),exp(U_2870),hAPP(bop,fun(exp(U_2870),exp(U_2870)),hAPP(exp(U_2870),fun(bop,fun(exp(U_2870),exp(U_2870))),binOp(U_2870),U_2865),U_2864),U_2863),
    inference(clausify,[status(thm)],[f_570_2]) ).

fof(f_571_1,plain,
    ! [X_a,Exp1_3,Bop_2,Exp2_3,Exp1_2,Bop_3,Exp2_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_3),Bop_2),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_2),Bop_3),Exp2_2)
        | Exp2_3 != Exp2_2
        | ti(bop,Bop_2) != ti(bop,Bop_3)
        | Exp1_3 != Exp1_2 )
      & ( ( Exp2_3 = Exp2_2
          & ti(bop,Bop_2) = ti(bop,Bop_3)
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_3),Bop_2),Exp2_3) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_2),Bop_3),Exp2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_423_exp_Osimps_I4_J]) ).

fof(f_571_2,plain,
    ! [U_2877,U_2876,U_2875,U_2874,U_2873,U_2872,U_2871] :
      ( ( hAPP(exp(U_2877),exp(U_2877),hAPP(bop,fun(exp(U_2877),exp(U_2877)),hAPP(exp(U_2877),fun(bop,fun(exp(U_2877),exp(U_2877))),binOp(U_2877),U_2876),U_2875),U_2874) = hAPP(exp(U_2877),exp(U_2877),hAPP(bop,fun(exp(U_2877),exp(U_2877)),hAPP(exp(U_2877),fun(bop,fun(exp(U_2877),exp(U_2877))),binOp(U_2877),U_2873),U_2872),U_2871)
        | U_2874 != U_2871
        | ti(bop,U_2875) != ti(bop,U_2872)
        | U_2876 != U_2873 )
      & ( ( U_2874 = U_2871
          & ti(bop,U_2875) = ti(bop,U_2872)
          & U_2876 = U_2873 )
        | hAPP(exp(U_2877),exp(U_2877),hAPP(bop,fun(exp(U_2877),exp(U_2877)),hAPP(exp(U_2877),fun(bop,fun(exp(U_2877),exp(U_2877))),binOp(U_2877),U_2876),U_2875),U_2874) != hAPP(exp(U_2877),exp(U_2877),hAPP(bop,fun(exp(U_2877),exp(U_2877)),hAPP(exp(U_2877),fun(bop,fun(exp(U_2877),exp(U_2877))),binOp(U_2877),U_2873),U_2872),U_2871) ) ),
    inference(variable_rename,[status(thm)],[f_571_1]) ).

fof(f_571_3,plain,
    ( ! [U_2891,U_2889,U_2887,U_2885,U_2883,U_2881,U_2879] :
        ( hAPP(exp(U_2891),exp(U_2891),hAPP(bop,fun(exp(U_2891),exp(U_2891)),hAPP(exp(U_2891),fun(bop,fun(exp(U_2891),exp(U_2891))),binOp(U_2891),U_2889),U_2887),U_2885) = hAPP(exp(U_2891),exp(U_2891),hAPP(bop,fun(exp(U_2891),exp(U_2891)),hAPP(exp(U_2891),fun(bop,fun(exp(U_2891),exp(U_2891))),binOp(U_2891),U_2883),U_2881),U_2879)
        | U_2885 != U_2879
        | ti(bop,U_2887) != ti(bop,U_2881)
        | U_2889 != U_2883 )
    & ! [U_2890,U_2888,U_2886,U_2884,U_2882,U_2880,U_2878] :
        ( ( U_2884 = U_2878
          & ti(bop,U_2886) = ti(bop,U_2880)
          & U_2888 = U_2882 )
        | hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2888),U_2886),U_2884) != hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2882),U_2880),U_2878) ) ),
    inference(miniscope,[status(thm)],[f_571_2]) ).

cnf(f_571_4,plain,
    ( U_2888 = U_2882
    | hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2888),U_2886),U_2884) != hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2882),U_2880),U_2878) ),
    inference(clausify,[status(thm)],[f_571_3]) ).

cnf(f_571_5,plain,
    ( ti(bop,U_2886) = ti(bop,U_2880)
    | hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2888),U_2886),U_2884) != hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2882),U_2880),U_2878) ),
    inference(clausify,[status(thm)],[f_571_3]) ).

cnf(f_571_6,plain,
    ( U_2884 = U_2878
    | hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2888),U_2886),U_2884) != hAPP(exp(U_2890),exp(U_2890),hAPP(bop,fun(exp(U_2890),exp(U_2890)),hAPP(exp(U_2890),fun(bop,fun(exp(U_2890),exp(U_2890))),binOp(U_2890),U_2882),U_2880),U_2878) ),
    inference(clausify,[status(thm)],[f_571_3]) ).

cnf(f_571_7,plain,
    ( hAPP(exp(U_2891),exp(U_2891),hAPP(bop,fun(exp(U_2891),exp(U_2891)),hAPP(exp(U_2891),fun(bop,fun(exp(U_2891),exp(U_2891))),binOp(U_2891),U_2889),U_2887),U_2885) = hAPP(exp(U_2891),exp(U_2891),hAPP(bop,fun(exp(U_2891),exp(U_2891)),hAPP(exp(U_2891),fun(bop,fun(exp(U_2891),exp(U_2891))),binOp(U_2891),U_2883),U_2881),U_2879)
    | U_2885 != U_2879
    | ti(bop,U_2887) != ti(bop,U_2881)
    | U_2889 != U_2883 ),
    inference(clausify,[status(thm)],[f_571_3]) ).

fof(f_572_1,plain,
    ! [X_a,Exp1_3,List,A_1,Exp2_3,Exp1_2,List_1,A_4,Exp2_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_3),List),A_1),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_2),List_1),A_4),Exp2_2)
        | Exp2_3 != Exp2_2
        | ti(X_a,A_1) != ti(X_a,A_4)
        | List != List_1
        | Exp1_3 != Exp1_2 )
      & ( ( Exp2_3 = Exp2_2
          & ti(X_a,A_1) = ti(X_a,A_4)
          & List = List_1
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_3),List),A_1),Exp2_3) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1_2),List_1),A_4),Exp2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_424_exp_Osimps_I15_J]) ).

fof(f_572_2,plain,
    ! [U_2900,U_2899,U_2898,U_2897,U_2896,U_2895,U_2894,U_2893,U_2892] :
      ( ( hAPP(exp(U_2900),exp(U_2900),hAPP(U_2900,fun(exp(U_2900),exp(U_2900)),hAPP(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900))),hAPP(exp(U_2900),fun(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900)))),tryCatch(U_2900),U_2899),U_2898),U_2897),U_2896) = hAPP(exp(U_2900),exp(U_2900),hAPP(U_2900,fun(exp(U_2900),exp(U_2900)),hAPP(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900))),hAPP(exp(U_2900),fun(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900)))),tryCatch(U_2900),U_2895),U_2894),U_2893),U_2892)
        | U_2896 != U_2892
        | ti(U_2900,U_2897) != ti(U_2900,U_2893)
        | U_2898 != U_2894
        | U_2899 != U_2895 )
      & ( ( U_2896 = U_2892
          & ti(U_2900,U_2897) = ti(U_2900,U_2893)
          & U_2898 = U_2894
          & U_2899 = U_2895 )
        | hAPP(exp(U_2900),exp(U_2900),hAPP(U_2900,fun(exp(U_2900),exp(U_2900)),hAPP(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900))),hAPP(exp(U_2900),fun(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900)))),tryCatch(U_2900),U_2899),U_2898),U_2897),U_2896) != hAPP(exp(U_2900),exp(U_2900),hAPP(U_2900,fun(exp(U_2900),exp(U_2900)),hAPP(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900))),hAPP(exp(U_2900),fun(list(char),fun(U_2900,fun(exp(U_2900),exp(U_2900)))),tryCatch(U_2900),U_2895),U_2894),U_2893),U_2892) ) ),
    inference(variable_rename,[status(thm)],[f_572_1]) ).

fof(f_572_3,plain,
    ( ! [U_2918,U_2916,U_2914,U_2912,U_2910,U_2908,U_2906,U_2904,U_2902] :
        ( hAPP(exp(U_2918),exp(U_2918),hAPP(U_2918,fun(exp(U_2918),exp(U_2918)),hAPP(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918))),hAPP(exp(U_2918),fun(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918)))),tryCatch(U_2918),U_2916),U_2914),U_2912),U_2910) = hAPP(exp(U_2918),exp(U_2918),hAPP(U_2918,fun(exp(U_2918),exp(U_2918)),hAPP(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918))),hAPP(exp(U_2918),fun(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918)))),tryCatch(U_2918),U_2908),U_2906),U_2904),U_2902)
        | U_2910 != U_2902
        | ti(U_2918,U_2912) != ti(U_2918,U_2904)
        | U_2914 != U_2906
        | U_2916 != U_2908 )
    & ! [U_2917,U_2915,U_2913,U_2911,U_2909,U_2907,U_2905,U_2903,U_2901] :
        ( ( U_2909 = U_2901
          & ti(U_2917,U_2911) = ti(U_2917,U_2903)
          & U_2913 = U_2905
          & U_2915 = U_2907 )
        | hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2915),U_2913),U_2911),U_2909) != hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2907),U_2905),U_2903),U_2901) ) ),
    inference(miniscope,[status(thm)],[f_572_2]) ).

cnf(f_572_4,plain,
    ( U_2915 = U_2907
    | hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2915),U_2913),U_2911),U_2909) != hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2907),U_2905),U_2903),U_2901) ),
    inference(clausify,[status(thm)],[f_572_3]) ).

cnf(f_572_5,plain,
    ( U_2913 = U_2905
    | hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2915),U_2913),U_2911),U_2909) != hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2907),U_2905),U_2903),U_2901) ),
    inference(clausify,[status(thm)],[f_572_3]) ).

cnf(f_572_6,plain,
    ( ti(U_2917,U_2911) = ti(U_2917,U_2903)
    | hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2915),U_2913),U_2911),U_2909) != hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2907),U_2905),U_2903),U_2901) ),
    inference(clausify,[status(thm)],[f_572_3]) ).

cnf(f_572_7,plain,
    ( U_2909 = U_2901
    | hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2915),U_2913),U_2911),U_2909) != hAPP(exp(U_2917),exp(U_2917),hAPP(U_2917,fun(exp(U_2917),exp(U_2917)),hAPP(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917))),hAPP(exp(U_2917),fun(list(char),fun(U_2917,fun(exp(U_2917),exp(U_2917)))),tryCatch(U_2917),U_2907),U_2905),U_2903),U_2901) ),
    inference(clausify,[status(thm)],[f_572_3]) ).

cnf(f_572_8,plain,
    ( hAPP(exp(U_2918),exp(U_2918),hAPP(U_2918,fun(exp(U_2918),exp(U_2918)),hAPP(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918))),hAPP(exp(U_2918),fun(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918)))),tryCatch(U_2918),U_2916),U_2914),U_2912),U_2910) = hAPP(exp(U_2918),exp(U_2918),hAPP(U_2918,fun(exp(U_2918),exp(U_2918)),hAPP(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918))),hAPP(exp(U_2918),fun(list(char),fun(U_2918,fun(exp(U_2918),exp(U_2918)))),tryCatch(U_2918),U_2908),U_2906),U_2904),U_2902)
    | U_2910 != U_2902
    | ti(U_2918,U_2912) != ti(U_2918,U_2904)
    | U_2914 != U_2906
    | U_2916 != U_2908 ),
    inference(clausify,[status(thm)],[f_572_3]) ).

fof(f_573_1,plain,
    ! [Bop_2,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_425_redp__redsp_OBinOpRed1]) ).

fof(f_573_2,plain,
    ! [U_2925,U_2924,U_2923,U_2922,U_2921,U_2920,U_2919] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2923),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2922),U_2925),U_2924)),U_2921),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2920),U_2925),U_2924)),U_2919))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2923),U_2922),U_2921),U_2920),U_2919)) ),
    inference(variable_rename,[status(thm)],[f_573_1]) ).

cnf(f_573_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2923),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2922),U_2925),U_2924)),U_2921),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_2920),U_2925),U_2924)),U_2919))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2923),U_2922),U_2921),U_2920),U_2919)) ),
    inference(clausify,[status(thm)],[f_573_2]) ).

fof(f_574_1,plain,
    ! [C_1,Va_1,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),Eb),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_b),C_1),Va_1),E_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_426_redp__redsp_OTryRed]) ).

fof(f_574_2,plain,
    ! [U_2933,U_2932,U_2931,U_2930,U_2929,U_2928,U_2927,U_2926] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2930),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)),U_2929),U_2933),U_2932),U_2931)),U_2928),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)),U_2927),U_2933),U_2932),U_2931)),U_2926))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2930),U_2929),U_2928),U_2927),U_2926)) ),
    inference(variable_rename,[status(thm)],[f_574_1]) ).

cnf(f_574_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2930),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)),U_2929),U_2933),U_2932),U_2931)),U_2928),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)),U_2927),U_2933),U_2932),U_2931)),U_2926))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_2930),U_2929),U_2928),U_2927),U_2926)) ),
    inference(clausify,[status(thm)],[f_574_2]) ).

fof(f_575_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_427_exp_Osimps_I93_J]) ).

fof(f_575_2,plain,
    ! [U_2939,U_2938,U_2937,U_2936,U_2935,U_2934] : hAPP(exp(U_2939),exp(U_2939),hAPP(U_2939,fun(exp(U_2939),exp(U_2939)),hAPP(list(char),fun(U_2939,fun(exp(U_2939),exp(U_2939))),hAPP(exp(U_2939),fun(list(char),fun(U_2939,fun(exp(U_2939),exp(U_2939)))),tryCatch(U_2939),U_2938),U_2937),U_2936),U_2935) != hAPP(val,exp(U_2939),val_1(U_2939),U_2934),
    inference(variable_rename,[status(thm)],[f_575_1]) ).

cnf(f_575_3,plain,
    hAPP(exp(U_2939),exp(U_2939),hAPP(U_2939,fun(exp(U_2939),exp(U_2939)),hAPP(list(char),fun(U_2939,fun(exp(U_2939),exp(U_2939))),hAPP(exp(U_2939),fun(list(char),fun(U_2939,fun(exp(U_2939),exp(U_2939)))),tryCatch(U_2939),U_2938),U_2937),U_2936),U_2935) != hAPP(val,exp(U_2939),val_1(U_2939),U_2934),
    inference(clausify,[status(thm)],[f_575_2]) ).

fof(f_576_1,plain,
    ! [X_a,Exp1,Bop_1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_428_exp_Osimps_I71_J]) ).

fof(f_576_2,plain,
    ! [U_2944,U_2943,U_2942,U_2941,U_2940] : hAPP(exp(U_2944),exp(U_2944),hAPP(bop,fun(exp(U_2944),exp(U_2944)),hAPP(exp(U_2944),fun(bop,fun(exp(U_2944),exp(U_2944))),binOp(U_2944),U_2943),U_2942),U_2941) != hAPP(val,exp(U_2944),val_1(U_2944),U_2940),
    inference(variable_rename,[status(thm)],[f_576_1]) ).

cnf(f_576_3,plain,
    hAPP(exp(U_2944),exp(U_2944),hAPP(bop,fun(exp(U_2944),exp(U_2944)),hAPP(exp(U_2944),fun(bop,fun(exp(U_2944),exp(U_2944))),binOp(U_2944),U_2943),U_2942),U_2941) != hAPP(val,exp(U_2944),val_1(U_2944),U_2940),
    inference(clausify,[status(thm)],[f_576_2]) ).

fof(f_577_1,plain,
    ! [X_a,Val,Exp1,List_3,A_6,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_429_exp_Osimps_I92_J]) ).

fof(f_577_2,plain,
    ! [U_2950,U_2949,U_2948,U_2947,U_2946,U_2945] : hAPP(val,exp(U_2950),val_1(U_2950),U_2949) != hAPP(exp(U_2950),exp(U_2950),hAPP(U_2950,fun(exp(U_2950),exp(U_2950)),hAPP(list(char),fun(U_2950,fun(exp(U_2950),exp(U_2950))),hAPP(exp(U_2950),fun(list(char),fun(U_2950,fun(exp(U_2950),exp(U_2950)))),tryCatch(U_2950),U_2948),U_2947),U_2946),U_2945),
    inference(variable_rename,[status(thm)],[f_577_1]) ).

cnf(f_577_3,plain,
    hAPP(val,exp(U_2950),val_1(U_2950),U_2949) != hAPP(exp(U_2950),exp(U_2950),hAPP(U_2950,fun(exp(U_2950),exp(U_2950)),hAPP(list(char),fun(U_2950,fun(exp(U_2950),exp(U_2950))),hAPP(exp(U_2950),fun(list(char),fun(U_2950,fun(exp(U_2950),exp(U_2950)))),tryCatch(U_2950),U_2948),U_2947),U_2946),U_2945),
    inference(clausify,[status(thm)],[f_577_2]) ).

fof(f_578_1,plain,
    ! [X_a,Val,Exp1,Bop_1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_430_exp_Osimps_I70_J]) ).

fof(f_578_2,plain,
    ! [U_2955,U_2954,U_2953,U_2952,U_2951] : hAPP(val,exp(U_2955),val_1(U_2955),U_2954) != hAPP(exp(U_2955),exp(U_2955),hAPP(bop,fun(exp(U_2955),exp(U_2955)),hAPP(exp(U_2955),fun(bop,fun(exp(U_2955),exp(U_2955))),binOp(U_2955),U_2953),U_2952),U_2951),
    inference(variable_rename,[status(thm)],[f_578_1]) ).

cnf(f_578_3,plain,
    hAPP(val,exp(U_2955),val_1(U_2955),U_2954) != hAPP(exp(U_2955),exp(U_2955),hAPP(bop,fun(exp(U_2955),exp(U_2955)),hAPP(exp(U_2955),fun(bop,fun(exp(U_2955),exp(U_2955))),binOp(U_2955),U_2953),U_2952),U_2951),
    inference(clausify,[status(thm)],[f_578_2]) ).

fof(f_579_1,plain,
    ! [X_a,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_431_exp_Osimps_I113_J]) ).

fof(f_579_2,plain,
    ! [U_2960,U_2959,U_2958,U_2957,U_2956] : hAPP(exp(U_2960),exp(U_2960),throw(U_2960),U_2959) != hAPP(exp(U_2960),exp(U_2960),hAPP(bop,fun(exp(U_2960),exp(U_2960)),hAPP(exp(U_2960),fun(bop,fun(exp(U_2960),exp(U_2960))),binOp(U_2960),U_2958),U_2957),U_2956),
    inference(variable_rename,[status(thm)],[f_579_1]) ).

cnf(f_579_3,plain,
    hAPP(exp(U_2960),exp(U_2960),throw(U_2960),U_2959) != hAPP(exp(U_2960),exp(U_2960),hAPP(bop,fun(exp(U_2960),exp(U_2960)),hAPP(exp(U_2960),fun(bop,fun(exp(U_2960),exp(U_2960))),binOp(U_2960),U_2958),U_2957),U_2956),
    inference(clausify,[status(thm)],[f_579_2]) ).

fof(f_580_1,plain,
    ! [X_a,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_432_exp_Osimps_I224_J]) ).

fof(f_580_2,plain,
    ! [U_2966,U_2965,U_2964,U_2963,U_2962,U_2961] : hAPP(exp(U_2966),exp(U_2966),throw(U_2966),U_2965) != hAPP(exp(U_2966),exp(U_2966),hAPP(U_2966,fun(exp(U_2966),exp(U_2966)),hAPP(list(char),fun(U_2966,fun(exp(U_2966),exp(U_2966))),hAPP(exp(U_2966),fun(list(char),fun(U_2966,fun(exp(U_2966),exp(U_2966)))),tryCatch(U_2966),U_2964),U_2963),U_2962),U_2961),
    inference(variable_rename,[status(thm)],[f_580_1]) ).

cnf(f_580_3,plain,
    hAPP(exp(U_2966),exp(U_2966),throw(U_2966),U_2965) != hAPP(exp(U_2966),exp(U_2966),hAPP(U_2966,fun(exp(U_2966),exp(U_2966)),hAPP(list(char),fun(U_2966,fun(exp(U_2966),exp(U_2966))),hAPP(exp(U_2966),fun(list(char),fun(U_2966,fun(exp(U_2966),exp(U_2966)))),tryCatch(U_2966),U_2964),U_2963),U_2962),U_2961),
    inference(clausify,[status(thm)],[f_580_2]) ).

fof(f_581_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_433_exp_Osimps_I112_J]) ).

fof(f_581_2,plain,
    ! [U_2971,U_2970,U_2969,U_2968,U_2967] : hAPP(exp(U_2971),exp(U_2971),hAPP(bop,fun(exp(U_2971),exp(U_2971)),hAPP(exp(U_2971),fun(bop,fun(exp(U_2971),exp(U_2971))),binOp(U_2971),U_2970),U_2969),U_2968) != hAPP(exp(U_2971),exp(U_2971),throw(U_2971),U_2967),
    inference(variable_rename,[status(thm)],[f_581_1]) ).

cnf(f_581_3,plain,
    hAPP(exp(U_2971),exp(U_2971),hAPP(bop,fun(exp(U_2971),exp(U_2971)),hAPP(exp(U_2971),fun(bop,fun(exp(U_2971),exp(U_2971))),binOp(U_2971),U_2970),U_2969),U_2968) != hAPP(exp(U_2971),exp(U_2971),throw(U_2971),U_2967),
    inference(clausify,[status(thm)],[f_581_2]) ).

fof(f_582_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp),
    inference(fof_nnf,[status(thm)],[fact_434_exp_Osimps_I225_J]) ).

fof(f_582_2,plain,
    ! [U_2977,U_2976,U_2975,U_2974,U_2973,U_2972] : hAPP(exp(U_2977),exp(U_2977),hAPP(U_2977,fun(exp(U_2977),exp(U_2977)),hAPP(list(char),fun(U_2977,fun(exp(U_2977),exp(U_2977))),hAPP(exp(U_2977),fun(list(char),fun(U_2977,fun(exp(U_2977),exp(U_2977)))),tryCatch(U_2977),U_2976),U_2975),U_2974),U_2973) != hAPP(exp(U_2977),exp(U_2977),throw(U_2977),U_2972),
    inference(variable_rename,[status(thm)],[f_582_1]) ).

cnf(f_582_3,plain,
    hAPP(exp(U_2977),exp(U_2977),hAPP(U_2977,fun(exp(U_2977),exp(U_2977)),hAPP(list(char),fun(U_2977,fun(exp(U_2977),exp(U_2977))),hAPP(exp(U_2977),fun(list(char),fun(U_2977,fun(exp(U_2977),exp(U_2977)))),tryCatch(U_2977),U_2976),U_2975),U_2974),U_2973) != hAPP(exp(U_2977),exp(U_2977),throw(U_2977),U_2972),
    inference(clausify,[status(thm)],[f_582_2]) ).

fof(f_583_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_435_exp_Osimps_I153_J]) ).

fof(f_583_2,plain,
    ! [U_2984,U_2983,U_2982,U_2981,U_2980,U_2979,U_2978] : hAPP(exp(U_2984),exp(U_2984),hAPP(U_2984,fun(exp(U_2984),exp(U_2984)),hAPP(list(char),fun(U_2984,fun(exp(U_2984),exp(U_2984))),hAPP(exp(U_2984),fun(list(char),fun(U_2984,fun(exp(U_2984),exp(U_2984)))),tryCatch(U_2984),U_2983),U_2982),U_2981),U_2980) != hAPP(exp(U_2984),exp(U_2984),hAPP(U_2984,fun(exp(U_2984),exp(U_2984)),lAss(U_2984),U_2979),U_2978),
    inference(variable_rename,[status(thm)],[f_583_1]) ).

cnf(f_583_3,plain,
    hAPP(exp(U_2984),exp(U_2984),hAPP(U_2984,fun(exp(U_2984),exp(U_2984)),hAPP(list(char),fun(U_2984,fun(exp(U_2984),exp(U_2984))),hAPP(exp(U_2984),fun(list(char),fun(U_2984,fun(exp(U_2984),exp(U_2984)))),tryCatch(U_2984),U_2983),U_2982),U_2981),U_2980) != hAPP(exp(U_2984),exp(U_2984),hAPP(U_2984,fun(exp(U_2984),exp(U_2984)),lAss(U_2984),U_2979),U_2978),
    inference(clausify,[status(thm)],[f_583_2]) ).

fof(f_584_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_436_exp_Osimps_I213_J]) ).

fof(f_584_2,plain,
    ! [U_2991,U_2990,U_2989,U_2988,U_2987,U_2986,U_2985] : hAPP(exp(U_2991),exp(U_2991),hAPP(U_2991,fun(exp(U_2991),exp(U_2991)),hAPP(list(char),fun(U_2991,fun(exp(U_2991),exp(U_2991))),hAPP(exp(U_2991),fun(list(char),fun(U_2991,fun(exp(U_2991),exp(U_2991)))),tryCatch(U_2991),U_2990),U_2989),U_2988),U_2987) != hAPP(exp(U_2991),exp(U_2991),hAPP(exp(U_2991),fun(exp(U_2991),exp(U_2991)),seq(U_2991),U_2986),U_2985),
    inference(variable_rename,[status(thm)],[f_584_1]) ).

cnf(f_584_3,plain,
    hAPP(exp(U_2991),exp(U_2991),hAPP(U_2991,fun(exp(U_2991),exp(U_2991)),hAPP(list(char),fun(U_2991,fun(exp(U_2991),exp(U_2991))),hAPP(exp(U_2991),fun(list(char),fun(U_2991,fun(exp(U_2991),exp(U_2991)))),tryCatch(U_2991),U_2990),U_2989),U_2988),U_2987) != hAPP(exp(U_2991),exp(U_2991),hAPP(exp(U_2991),fun(exp(U_2991),exp(U_2991)),seq(U_2991),U_2986),U_2985),
    inference(clausify,[status(thm)],[f_584_2]) ).

fof(f_585_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,A_6,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_437_exp_Osimps_I96_J]) ).

fof(f_585_2,plain,
    ! [U_2997,U_2996,U_2995,U_2994,U_2993,U_2992] : hAPP(exp(U_2997),exp(U_2997),hAPP(bop,fun(exp(U_2997),exp(U_2997)),hAPP(exp(U_2997),fun(bop,fun(exp(U_2997),exp(U_2997))),binOp(U_2997),U_2996),U_2995),U_2994) != hAPP(exp(U_2997),exp(U_2997),hAPP(U_2997,fun(exp(U_2997),exp(U_2997)),lAss(U_2997),U_2993),U_2992),
    inference(variable_rename,[status(thm)],[f_585_1]) ).

cnf(f_585_3,plain,
    hAPP(exp(U_2997),exp(U_2997),hAPP(bop,fun(exp(U_2997),exp(U_2997)),hAPP(exp(U_2997),fun(bop,fun(exp(U_2997),exp(U_2997))),binOp(U_2997),U_2996),U_2995),U_2994) != hAPP(exp(U_2997),exp(U_2997),hAPP(U_2997,fun(exp(U_2997),exp(U_2997)),lAss(U_2997),U_2993),U_2992),
    inference(clausify,[status(thm)],[f_585_2]) ).

fof(f_586_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_438_exp_Osimps_I106_J]) ).

fof(f_586_2,plain,
    ! [U_3003,U_3002,U_3001,U_3000,U_2999,U_2998] : hAPP(exp(U_3003),exp(U_3003),hAPP(bop,fun(exp(U_3003),exp(U_3003)),hAPP(exp(U_3003),fun(bop,fun(exp(U_3003),exp(U_3003))),binOp(U_3003),U_3002),U_3001),U_3000) != hAPP(exp(U_3003),exp(U_3003),hAPP(exp(U_3003),fun(exp(U_3003),exp(U_3003)),seq(U_3003),U_2999),U_2998),
    inference(variable_rename,[status(thm)],[f_586_1]) ).

cnf(f_586_3,plain,
    hAPP(exp(U_3003),exp(U_3003),hAPP(bop,fun(exp(U_3003),exp(U_3003)),hAPP(exp(U_3003),fun(bop,fun(exp(U_3003),exp(U_3003))),binOp(U_3003),U_3002),U_3001),U_3000) != hAPP(exp(U_3003),exp(U_3003),hAPP(exp(U_3003),fun(exp(U_3003),exp(U_3003)),seq(U_3003),U_2999),U_2998),
    inference(clausify,[status(thm)],[f_586_2]) ).

fof(f_587_1,plain,
    ! [X_a,A_5,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_439_exp_Osimps_I152_J]) ).

fof(f_587_2,plain,
    ! [U_3010,U_3009,U_3008,U_3007,U_3006,U_3005,U_3004] : hAPP(exp(U_3010),exp(U_3010),hAPP(U_3010,fun(exp(U_3010),exp(U_3010)),lAss(U_3010),U_3009),U_3008) != hAPP(exp(U_3010),exp(U_3010),hAPP(U_3010,fun(exp(U_3010),exp(U_3010)),hAPP(list(char),fun(U_3010,fun(exp(U_3010),exp(U_3010))),hAPP(exp(U_3010),fun(list(char),fun(U_3010,fun(exp(U_3010),exp(U_3010)))),tryCatch(U_3010),U_3007),U_3006),U_3005),U_3004),
    inference(variable_rename,[status(thm)],[f_587_1]) ).

cnf(f_587_3,plain,
    hAPP(exp(U_3010),exp(U_3010),hAPP(U_3010,fun(exp(U_3010),exp(U_3010)),lAss(U_3010),U_3009),U_3008) != hAPP(exp(U_3010),exp(U_3010),hAPP(U_3010,fun(exp(U_3010),exp(U_3010)),hAPP(list(char),fun(U_3010,fun(exp(U_3010),exp(U_3010))),hAPP(exp(U_3010),fun(list(char),fun(U_3010,fun(exp(U_3010),exp(U_3010)))),tryCatch(U_3010),U_3007),U_3006),U_3005),U_3004),
    inference(clausify,[status(thm)],[f_587_2]) ).

fof(f_588_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_440_exp_Osimps_I212_J]) ).

fof(f_588_2,plain,
    ! [U_3017,U_3016,U_3015,U_3014,U_3013,U_3012,U_3011] : hAPP(exp(U_3017),exp(U_3017),hAPP(exp(U_3017),fun(exp(U_3017),exp(U_3017)),seq(U_3017),U_3016),U_3015) != hAPP(exp(U_3017),exp(U_3017),hAPP(U_3017,fun(exp(U_3017),exp(U_3017)),hAPP(list(char),fun(U_3017,fun(exp(U_3017),exp(U_3017))),hAPP(exp(U_3017),fun(list(char),fun(U_3017,fun(exp(U_3017),exp(U_3017)))),tryCatch(U_3017),U_3014),U_3013),U_3012),U_3011),
    inference(variable_rename,[status(thm)],[f_588_1]) ).

cnf(f_588_3,plain,
    hAPP(exp(U_3017),exp(U_3017),hAPP(exp(U_3017),fun(exp(U_3017),exp(U_3017)),seq(U_3017),U_3016),U_3015) != hAPP(exp(U_3017),exp(U_3017),hAPP(U_3017,fun(exp(U_3017),exp(U_3017)),hAPP(list(char),fun(U_3017,fun(exp(U_3017),exp(U_3017))),hAPP(exp(U_3017),fun(list(char),fun(U_3017,fun(exp(U_3017),exp(U_3017)))),tryCatch(U_3017),U_3014),U_3013),U_3012),U_3011),
    inference(clausify,[status(thm)],[f_588_2]) ).

fof(f_589_1,plain,
    ! [X_a,A_6,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_441_exp_Osimps_I97_J]) ).

fof(f_589_2,plain,
    ! [U_3023,U_3022,U_3021,U_3020,U_3019,U_3018] : hAPP(exp(U_3023),exp(U_3023),hAPP(U_3023,fun(exp(U_3023),exp(U_3023)),lAss(U_3023),U_3022),U_3021) != hAPP(exp(U_3023),exp(U_3023),hAPP(bop,fun(exp(U_3023),exp(U_3023)),hAPP(exp(U_3023),fun(bop,fun(exp(U_3023),exp(U_3023))),binOp(U_3023),U_3020),U_3019),U_3018),
    inference(variable_rename,[status(thm)],[f_589_1]) ).

cnf(f_589_3,plain,
    hAPP(exp(U_3023),exp(U_3023),hAPP(U_3023,fun(exp(U_3023),exp(U_3023)),lAss(U_3023),U_3022),U_3021) != hAPP(exp(U_3023),exp(U_3023),hAPP(bop,fun(exp(U_3023),exp(U_3023)),hAPP(exp(U_3023),fun(bop,fun(exp(U_3023),exp(U_3023))),binOp(U_3023),U_3020),U_3019),U_3018),
    inference(clausify,[status(thm)],[f_589_2]) ).

fof(f_590_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_442_exp_Osimps_I107_J]) ).

fof(f_590_2,plain,
    ! [U_3029,U_3028,U_3027,U_3026,U_3025,U_3024] : hAPP(exp(U_3029),exp(U_3029),hAPP(exp(U_3029),fun(exp(U_3029),exp(U_3029)),seq(U_3029),U_3028),U_3027) != hAPP(exp(U_3029),exp(U_3029),hAPP(bop,fun(exp(U_3029),exp(U_3029)),hAPP(exp(U_3029),fun(bop,fun(exp(U_3029),exp(U_3029))),binOp(U_3029),U_3026),U_3025),U_3024),
    inference(variable_rename,[status(thm)],[f_590_1]) ).

cnf(f_590_3,plain,
    hAPP(exp(U_3029),exp(U_3029),hAPP(exp(U_3029),fun(exp(U_3029),exp(U_3029)),seq(U_3029),U_3028),U_3027) != hAPP(exp(U_3029),exp(U_3029),hAPP(bop,fun(exp(U_3029),exp(U_3029)),hAPP(exp(U_3029),fun(bop,fun(exp(U_3029),exp(U_3029))),binOp(U_3029),U_3026),U_3025),U_3024),
    inference(clausify,[status(thm)],[f_590_2]) ).

fof(f_591_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_443_exp_Osimps_I100_J]) ).

fof(f_591_2,plain,
    ! [U_3037,U_3036,U_3035,U_3034,U_3033,U_3032,U_3031,U_3030] : hAPP(exp(U_3037),exp(U_3037),hAPP(bop,fun(exp(U_3037),exp(U_3037)),hAPP(exp(U_3037),fun(bop,fun(exp(U_3037),exp(U_3037))),binOp(U_3037),U_3036),U_3035),U_3034) != hAPP(exp(U_3037),exp(U_3037),hAPP(list(char),fun(exp(U_3037),exp(U_3037)),hAPP(list(char),fun(list(char),fun(exp(U_3037),exp(U_3037))),hAPP(exp(U_3037),fun(list(char),fun(list(char),fun(exp(U_3037),exp(U_3037)))),fAss(U_3037),U_3033),U_3032),U_3031),U_3030),
    inference(variable_rename,[status(thm)],[f_591_1]) ).

cnf(f_591_3,plain,
    hAPP(exp(U_3037),exp(U_3037),hAPP(bop,fun(exp(U_3037),exp(U_3037)),hAPP(exp(U_3037),fun(bop,fun(exp(U_3037),exp(U_3037))),binOp(U_3037),U_3036),U_3035),U_3034) != hAPP(exp(U_3037),exp(U_3037),hAPP(list(char),fun(exp(U_3037),exp(U_3037)),hAPP(list(char),fun(list(char),fun(exp(U_3037),exp(U_3037))),hAPP(exp(U_3037),fun(list(char),fun(list(char),fun(exp(U_3037),exp(U_3037)))),fAss(U_3037),U_3033),U_3032),U_3031),U_3030),
    inference(clausify,[status(thm)],[f_591_2]) ).

fof(f_592_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_444_exp_Osimps_I101_J]) ).

fof(f_592_2,plain,
    ! [U_3045,U_3044,U_3043,U_3042,U_3041,U_3040,U_3039,U_3038] : hAPP(exp(U_3045),exp(U_3045),hAPP(list(char),fun(exp(U_3045),exp(U_3045)),hAPP(list(char),fun(list(char),fun(exp(U_3045),exp(U_3045))),hAPP(exp(U_3045),fun(list(char),fun(list(char),fun(exp(U_3045),exp(U_3045)))),fAss(U_3045),U_3044),U_3043),U_3042),U_3041) != hAPP(exp(U_3045),exp(U_3045),hAPP(bop,fun(exp(U_3045),exp(U_3045)),hAPP(exp(U_3045),fun(bop,fun(exp(U_3045),exp(U_3045))),binOp(U_3045),U_3040),U_3039),U_3038),
    inference(variable_rename,[status(thm)],[f_592_1]) ).

cnf(f_592_3,plain,
    hAPP(exp(U_3045),exp(U_3045),hAPP(list(char),fun(exp(U_3045),exp(U_3045)),hAPP(list(char),fun(list(char),fun(exp(U_3045),exp(U_3045))),hAPP(exp(U_3045),fun(list(char),fun(list(char),fun(exp(U_3045),exp(U_3045)))),fAss(U_3045),U_3044),U_3043),U_3042),U_3041) != hAPP(exp(U_3045),exp(U_3045),hAPP(bop,fun(exp(U_3045),exp(U_3045)),hAPP(exp(U_3045),fun(bop,fun(exp(U_3045),exp(U_3045))),binOp(U_3045),U_3040),U_3039),U_3038),
    inference(clausify,[status(thm)],[f_592_2]) ).

fof(f_593_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_445_exp_Osimps_I182_J]) ).

fof(f_593_2,plain,
    ! [U_3054,U_3053,U_3052,U_3051,U_3050,U_3049,U_3048,U_3047,U_3046] : hAPP(exp(U_3054),exp(U_3054),hAPP(list(char),fun(exp(U_3054),exp(U_3054)),hAPP(list(char),fun(list(char),fun(exp(U_3054),exp(U_3054))),hAPP(exp(U_3054),fun(list(char),fun(list(char),fun(exp(U_3054),exp(U_3054)))),fAss(U_3054),U_3053),U_3052),U_3051),U_3050) != hAPP(exp(U_3054),exp(U_3054),hAPP(U_3054,fun(exp(U_3054),exp(U_3054)),hAPP(list(char),fun(U_3054,fun(exp(U_3054),exp(U_3054))),hAPP(exp(U_3054),fun(list(char),fun(U_3054,fun(exp(U_3054),exp(U_3054)))),tryCatch(U_3054),U_3049),U_3048),U_3047),U_3046),
    inference(variable_rename,[status(thm)],[f_593_1]) ).

cnf(f_593_3,plain,
    hAPP(exp(U_3054),exp(U_3054),hAPP(list(char),fun(exp(U_3054),exp(U_3054)),hAPP(list(char),fun(list(char),fun(exp(U_3054),exp(U_3054))),hAPP(exp(U_3054),fun(list(char),fun(list(char),fun(exp(U_3054),exp(U_3054)))),fAss(U_3054),U_3053),U_3052),U_3051),U_3050) != hAPP(exp(U_3054),exp(U_3054),hAPP(U_3054,fun(exp(U_3054),exp(U_3054)),hAPP(list(char),fun(U_3054,fun(exp(U_3054),exp(U_3054))),hAPP(exp(U_3054),fun(list(char),fun(U_3054,fun(exp(U_3054),exp(U_3054)))),tryCatch(U_3054),U_3049),U_3048),U_3047),U_3046),
    inference(clausify,[status(thm)],[f_593_2]) ).

fof(f_594_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_446_exp_Osimps_I183_J]) ).

fof(f_594_2,plain,
    ! [U_3063,U_3062,U_3061,U_3060,U_3059,U_3058,U_3057,U_3056,U_3055] : hAPP(exp(U_3063),exp(U_3063),hAPP(U_3063,fun(exp(U_3063),exp(U_3063)),hAPP(list(char),fun(U_3063,fun(exp(U_3063),exp(U_3063))),hAPP(exp(U_3063),fun(list(char),fun(U_3063,fun(exp(U_3063),exp(U_3063)))),tryCatch(U_3063),U_3062),U_3061),U_3060),U_3059) != hAPP(exp(U_3063),exp(U_3063),hAPP(list(char),fun(exp(U_3063),exp(U_3063)),hAPP(list(char),fun(list(char),fun(exp(U_3063),exp(U_3063))),hAPP(exp(U_3063),fun(list(char),fun(list(char),fun(exp(U_3063),exp(U_3063)))),fAss(U_3063),U_3058),U_3057),U_3056),U_3055),
    inference(variable_rename,[status(thm)],[f_594_1]) ).

cnf(f_594_3,plain,
    hAPP(exp(U_3063),exp(U_3063),hAPP(U_3063,fun(exp(U_3063),exp(U_3063)),hAPP(list(char),fun(U_3063,fun(exp(U_3063),exp(U_3063))),hAPP(exp(U_3063),fun(list(char),fun(U_3063,fun(exp(U_3063),exp(U_3063)))),tryCatch(U_3063),U_3062),U_3061),U_3060),U_3059) != hAPP(exp(U_3063),exp(U_3063),hAPP(list(char),fun(exp(U_3063),exp(U_3063)),hAPP(list(char),fun(list(char),fun(exp(U_3063),exp(U_3063))),hAPP(exp(U_3063),fun(list(char),fun(list(char),fun(exp(U_3063),exp(U_3063)))),fAss(U_3063),U_3058),U_3057),U_3056),U_3055),
    inference(clausify,[status(thm)],[f_594_2]) ).

fof(f_595_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    inference(fof_nnf,[status(thm)],[fact_447_exp_Osimps_I205_J]) ).

fof(f_595_2,plain,
    ! [U_3071,U_3070,U_3069,U_3068,U_3067,U_3066,U_3065,U_3064] : hAPP(exp(U_3071),exp(U_3071),hAPP(U_3071,fun(exp(U_3071),exp(U_3071)),hAPP(list(char),fun(U_3071,fun(exp(U_3071),exp(U_3071))),hAPP(exp(U_3071),fun(list(char),fun(U_3071,fun(exp(U_3071),exp(U_3071)))),tryCatch(U_3071),U_3070),U_3069),U_3068),U_3067) != hAPP(exp(U_3071),exp(U_3071),hAPP(ty,fun(exp(U_3071),exp(U_3071)),hAPP(U_3071,fun(ty,fun(exp(U_3071),exp(U_3071))),block(U_3071),U_3066),U_3065),U_3064),
    inference(variable_rename,[status(thm)],[f_595_1]) ).

cnf(f_595_3,plain,
    hAPP(exp(U_3071),exp(U_3071),hAPP(U_3071,fun(exp(U_3071),exp(U_3071)),hAPP(list(char),fun(U_3071,fun(exp(U_3071),exp(U_3071))),hAPP(exp(U_3071),fun(list(char),fun(U_3071,fun(exp(U_3071),exp(U_3071)))),tryCatch(U_3071),U_3070),U_3069),U_3068),U_3067) != hAPP(exp(U_3071),exp(U_3071),hAPP(ty,fun(exp(U_3071),exp(U_3071)),hAPP(U_3071,fun(ty,fun(exp(U_3071),exp(U_3071))),block(U_3071),U_3066),U_3065),U_3064),
    inference(clausify,[status(thm)],[f_595_2]) ).

fof(f_596_1,plain,
    ! [X_a,A_5,Ty_1,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_448_exp_Osimps_I204_J]) ).

fof(f_596_2,plain,
    ! [U_3079,U_3078,U_3077,U_3076,U_3075,U_3074,U_3073,U_3072] : hAPP(exp(U_3079),exp(U_3079),hAPP(ty,fun(exp(U_3079),exp(U_3079)),hAPP(U_3079,fun(ty,fun(exp(U_3079),exp(U_3079))),block(U_3079),U_3078),U_3077),U_3076) != hAPP(exp(U_3079),exp(U_3079),hAPP(U_3079,fun(exp(U_3079),exp(U_3079)),hAPP(list(char),fun(U_3079,fun(exp(U_3079),exp(U_3079))),hAPP(exp(U_3079),fun(list(char),fun(U_3079,fun(exp(U_3079),exp(U_3079)))),tryCatch(U_3079),U_3075),U_3074),U_3073),U_3072),
    inference(variable_rename,[status(thm)],[f_596_1]) ).

cnf(f_596_3,plain,
    hAPP(exp(U_3079),exp(U_3079),hAPP(ty,fun(exp(U_3079),exp(U_3079)),hAPP(U_3079,fun(ty,fun(exp(U_3079),exp(U_3079))),block(U_3079),U_3078),U_3077),U_3076) != hAPP(exp(U_3079),exp(U_3079),hAPP(U_3079,fun(exp(U_3079),exp(U_3079)),hAPP(list(char),fun(U_3079,fun(exp(U_3079),exp(U_3079))),hAPP(exp(U_3079),fun(list(char),fun(U_3079,fun(exp(U_3079),exp(U_3079)))),tryCatch(U_3079),U_3075),U_3074),U_3073),U_3072),
    inference(clausify,[status(thm)],[f_596_2]) ).

fof(f_597_1,plain,
    ! [X_a,A_6,Ty,Exp_1,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_449_exp_Osimps_I105_J]) ).

fof(f_597_2,plain,
    ! [U_3086,U_3085,U_3084,U_3083,U_3082,U_3081,U_3080] : hAPP(exp(U_3086),exp(U_3086),hAPP(ty,fun(exp(U_3086),exp(U_3086)),hAPP(U_3086,fun(ty,fun(exp(U_3086),exp(U_3086))),block(U_3086),U_3085),U_3084),U_3083) != hAPP(exp(U_3086),exp(U_3086),hAPP(bop,fun(exp(U_3086),exp(U_3086)),hAPP(exp(U_3086),fun(bop,fun(exp(U_3086),exp(U_3086))),binOp(U_3086),U_3082),U_3081),U_3080),
    inference(variable_rename,[status(thm)],[f_597_1]) ).

cnf(f_597_3,plain,
    hAPP(exp(U_3086),exp(U_3086),hAPP(ty,fun(exp(U_3086),exp(U_3086)),hAPP(U_3086,fun(ty,fun(exp(U_3086),exp(U_3086))),block(U_3086),U_3085),U_3084),U_3083) != hAPP(exp(U_3086),exp(U_3086),hAPP(bop,fun(exp(U_3086),exp(U_3086)),hAPP(exp(U_3086),fun(bop,fun(exp(U_3086),exp(U_3086))),binOp(U_3086),U_3082),U_3081),U_3080),
    inference(clausify,[status(thm)],[f_597_2]) ).

fof(f_598_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_450_exp_Osimps_I104_J]) ).

fof(f_598_2,plain,
    ! [U_3093,U_3092,U_3091,U_3090,U_3089,U_3088,U_3087] : hAPP(exp(U_3093),exp(U_3093),hAPP(bop,fun(exp(U_3093),exp(U_3093)),hAPP(exp(U_3093),fun(bop,fun(exp(U_3093),exp(U_3093))),binOp(U_3093),U_3092),U_3091),U_3090) != hAPP(exp(U_3093),exp(U_3093),hAPP(ty,fun(exp(U_3093),exp(U_3093)),hAPP(U_3093,fun(ty,fun(exp(U_3093),exp(U_3093))),block(U_3093),U_3089),U_3088),U_3087),
    inference(variable_rename,[status(thm)],[f_598_1]) ).

cnf(f_598_3,plain,
    hAPP(exp(U_3093),exp(U_3093),hAPP(bop,fun(exp(U_3093),exp(U_3093)),hAPP(exp(U_3093),fun(bop,fun(exp(U_3093),exp(U_3093))),binOp(U_3093),U_3092),U_3091),U_3090) != hAPP(exp(U_3093),exp(U_3093),hAPP(ty,fun(exp(U_3093),exp(U_3093)),hAPP(U_3093,fun(ty,fun(exp(U_3093),exp(U_3093))),block(U_3093),U_3089),U_3088),U_3087),
    inference(clausify,[status(thm)],[f_598_2]) ).

fof(f_599_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,Bop,Exp2_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_451_exp_Osimps_I99_J]) ).

fof(f_599_2,plain,
    ! [U_3100,U_3099,U_3098,U_3097,U_3096,U_3095,U_3094] : hAPP(list(char),exp(U_3100),hAPP(list(char),fun(list(char),exp(U_3100)),hAPP(exp(U_3100),fun(list(char),fun(list(char),exp(U_3100))),fAcc(U_3100),U_3099),U_3098),U_3097) != hAPP(exp(U_3100),exp(U_3100),hAPP(bop,fun(exp(U_3100),exp(U_3100)),hAPP(exp(U_3100),fun(bop,fun(exp(U_3100),exp(U_3100))),binOp(U_3100),U_3096),U_3095),U_3094),
    inference(variable_rename,[status(thm)],[f_599_1]) ).

cnf(f_599_3,plain,
    hAPP(list(char),exp(U_3100),hAPP(list(char),fun(list(char),exp(U_3100)),hAPP(exp(U_3100),fun(list(char),fun(list(char),exp(U_3100))),fAcc(U_3100),U_3099),U_3098),U_3097) != hAPP(exp(U_3100),exp(U_3100),hAPP(bop,fun(exp(U_3100),exp(U_3100)),hAPP(exp(U_3100),fun(bop,fun(exp(U_3100),exp(U_3100))),binOp(U_3100),U_3096),U_3095),U_3094),
    inference(clausify,[status(thm)],[f_599_2]) ).

fof(f_600_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_452_exp_Osimps_I98_J]) ).

fof(f_600_2,plain,
    ! [U_3107,U_3106,U_3105,U_3104,U_3103,U_3102,U_3101] : hAPP(exp(U_3107),exp(U_3107),hAPP(bop,fun(exp(U_3107),exp(U_3107)),hAPP(exp(U_3107),fun(bop,fun(exp(U_3107),exp(U_3107))),binOp(U_3107),U_3106),U_3105),U_3104) != hAPP(list(char),exp(U_3107),hAPP(list(char),fun(list(char),exp(U_3107)),hAPP(exp(U_3107),fun(list(char),fun(list(char),exp(U_3107))),fAcc(U_3107),U_3103),U_3102),U_3101),
    inference(variable_rename,[status(thm)],[f_600_1]) ).

cnf(f_600_3,plain,
    hAPP(exp(U_3107),exp(U_3107),hAPP(bop,fun(exp(U_3107),exp(U_3107)),hAPP(exp(U_3107),fun(bop,fun(exp(U_3107),exp(U_3107))),binOp(U_3107),U_3106),U_3105),U_3104) != hAPP(list(char),exp(U_3107),hAPP(list(char),fun(list(char),exp(U_3107)),hAPP(exp(U_3107),fun(list(char),fun(list(char),exp(U_3107))),fAcc(U_3107),U_3103),U_3102),U_3101),
    inference(clausify,[status(thm)],[f_600_2]) ).

fof(f_601_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,List_3,A_6,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_453_exp_Osimps_I168_J]) ).

fof(f_601_2,plain,
    ! [U_3115,U_3114,U_3113,U_3112,U_3111,U_3110,U_3109,U_3108] : hAPP(list(char),exp(U_3115),hAPP(list(char),fun(list(char),exp(U_3115)),hAPP(exp(U_3115),fun(list(char),fun(list(char),exp(U_3115))),fAcc(U_3115),U_3114),U_3113),U_3112) != hAPP(exp(U_3115),exp(U_3115),hAPP(U_3115,fun(exp(U_3115),exp(U_3115)),hAPP(list(char),fun(U_3115,fun(exp(U_3115),exp(U_3115))),hAPP(exp(U_3115),fun(list(char),fun(U_3115,fun(exp(U_3115),exp(U_3115)))),tryCatch(U_3115),U_3111),U_3110),U_3109),U_3108),
    inference(variable_rename,[status(thm)],[f_601_1]) ).

cnf(f_601_3,plain,
    hAPP(list(char),exp(U_3115),hAPP(list(char),fun(list(char),exp(U_3115)),hAPP(exp(U_3115),fun(list(char),fun(list(char),exp(U_3115))),fAcc(U_3115),U_3114),U_3113),U_3112) != hAPP(exp(U_3115),exp(U_3115),hAPP(U_3115,fun(exp(U_3115),exp(U_3115)),hAPP(list(char),fun(U_3115,fun(exp(U_3115),exp(U_3115))),hAPP(exp(U_3115),fun(list(char),fun(U_3115,fun(exp(U_3115),exp(U_3115)))),tryCatch(U_3115),U_3111),U_3110),U_3109),U_3108),
    inference(clausify,[status(thm)],[f_601_2]) ).

fof(f_602_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_454_exp_Osimps_I169_J]) ).

fof(f_602_2,plain,
    ! [U_3123,U_3122,U_3121,U_3120,U_3119,U_3118,U_3117,U_3116] : hAPP(exp(U_3123),exp(U_3123),hAPP(U_3123,fun(exp(U_3123),exp(U_3123)),hAPP(list(char),fun(U_3123,fun(exp(U_3123),exp(U_3123))),hAPP(exp(U_3123),fun(list(char),fun(U_3123,fun(exp(U_3123),exp(U_3123)))),tryCatch(U_3123),U_3122),U_3121),U_3120),U_3119) != hAPP(list(char),exp(U_3123),hAPP(list(char),fun(list(char),exp(U_3123)),hAPP(exp(U_3123),fun(list(char),fun(list(char),exp(U_3123))),fAcc(U_3123),U_3118),U_3117),U_3116),
    inference(variable_rename,[status(thm)],[f_602_1]) ).

cnf(f_602_3,plain,
    hAPP(exp(U_3123),exp(U_3123),hAPP(U_3123,fun(exp(U_3123),exp(U_3123)),hAPP(list(char),fun(U_3123,fun(exp(U_3123),exp(U_3123))),hAPP(exp(U_3123),fun(list(char),fun(U_3123,fun(exp(U_3123),exp(U_3123)))),tryCatch(U_3123),U_3122),U_3121),U_3120),U_3119) != hAPP(list(char),exp(U_3123),hAPP(list(char),fun(list(char),exp(U_3123)),hAPP(exp(U_3123),fun(list(char),fun(list(char),exp(U_3123))),fAcc(U_3123),U_3118),U_3117),U_3116),
    inference(clausify,[status(thm)],[f_602_2]) ).

fof(f_603_1,plain,
    ! [Bop_2,E_2,Pa,E_1_1,S_0,Eb,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_455_eval__evals_OBinOpThrow1]) ).

fof(f_603_2,plain,
    ! [U_3130,U_3129,U_3128,U_3127,U_3126,U_3125,U_3124] :
      ( 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,U_3128),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3127),U_3130),U_3129)),U_3126),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3125)),U_3124))
      | ~ 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,U_3128),U_3127),U_3126),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3125)),U_3124)) ),
    inference(variable_rename,[status(thm)],[f_603_1]) ).

cnf(f_603_3,plain,
    ( 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,U_3128),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3127),U_3130),U_3129)),U_3126),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3125)),U_3124))
    | ~ 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,U_3128),U_3127),U_3126),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3125)),U_3124)) ),
    inference(clausify,[status(thm)],[f_603_2]) ).

fof(f_604_1,plain,
    ! [V_1_2,Bop_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),E_b)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_456_redp__redsp_OBinOpRed2]) ).

fof(f_604_2,plain,
    ! [U_3137,U_3136,U_3135,U_3134,U_3133,U_3132,U_3131] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3135),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3137)),U_3136),U_3134)),U_3133),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3137)),U_3136),U_3132)),U_3131))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3135),U_3134),U_3133),U_3132),U_3131)) ),
    inference(variable_rename,[status(thm)],[f_604_1]) ).

cnf(f_604_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3135),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3137)),U_3136),U_3134)),U_3133),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3137)),U_3136),U_3132)),U_3131))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3135),U_3134),U_3133),U_3132),U_3131)) ),
    inference(clausify,[status(thm)],[f_604_2]) ).

fof(f_605_1,plain,
    ! [Pa,Eb,Bop_2,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Bop_2),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_457_redp__redsp_OBinOpThrow1]) ).

fof(f_605_2,plain,
    ! [U_3142,U_3141,U_3140,U_3139,U_3138] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3142),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3141)),U_3140),U_3139)),U_3138),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3141)),U_3138)),
    inference(variable_rename,[status(thm)],[f_605_1]) ).

cnf(f_605_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3142),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3141)),U_3140),U_3139)),U_3138),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3141)),U_3138)),
    inference(clausify,[status(thm)],[f_605_2]) ).

fof(f_606_1,plain,
    ! [C_1,Va_1,E_2,Pa,E_1_1,S_0,V_1_2,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),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),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_458_Try]) ).

fof(f_606_2,plain,
    ! [U_3150,U_3149,U_3148,U_3147,U_3146,U_3145,U_3144,U_3143] :
      ( 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,U_3147),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)),U_3146),U_3150),U_3149),U_3148)),U_3145),hAPP(val,exp(list(char)),val_1(list(char)),U_3144)),U_3143))
      | ~ 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,U_3147),U_3146),U_3145),hAPP(val,exp(list(char)),val_1(list(char)),U_3144)),U_3143)) ),
    inference(variable_rename,[status(thm)],[f_606_1]) ).

cnf(f_606_3,plain,
    ( 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,U_3147),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)),U_3146),U_3150),U_3149),U_3148)),U_3145),hAPP(val,exp(list(char)),val_1(list(char)),U_3144)),U_3143))
    | ~ 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,U_3147),U_3146),U_3145),hAPP(val,exp(list(char)),val_1(list(char)),U_3144)),U_3143)) ),
    inference(clausify,[status(thm)],[f_606_2]) ).

fof(f_607_1,plain,
    ! [Pa,Va,C_1,Va_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),C_1),Va_1),E_2)),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S)),
    inference(fof_nnf,[status(thm)],[fact_459_redp__redsp_ORedTry]) ).

fof(f_607_2,plain,
    ! [U_3156,U_3155,U_3154,U_3153,U_3152,U_3151] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3156),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3155)),U_3154),U_3153),U_3152)),U_3151),hAPP(val,exp(list(char)),val_1(list(char)),U_3155)),U_3151)),
    inference(variable_rename,[status(thm)],[f_607_1]) ).

cnf(f_607_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3156),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3155)),U_3154),U_3153),U_3152)),U_3151),hAPP(val,exp(list(char)),val_1(list(char)),U_3155)),U_3151)),
    inference(clausify,[status(thm)],[f_607_2]) ).

fof(f_608_1,plain,
    ! [E_1_1,Bop_2,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    inference(fof_nnf,[status(thm)],[fact_460_fv__fvs_Osimps_I4_J]) ).

fof(f_608_2,plain,
    ! [U_3159,U_3158,U_3157] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3159),U_3158),U_3157)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_3159)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_3157)),
    inference(variable_rename,[status(thm)],[f_608_1]) ).

cnf(f_608_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3159),U_3158),U_3157)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_3159)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_3157)),
    inference(clausify,[status(thm)],[f_608_2]) ).

fof(f_609_1,plain,
    ! [X_a,C_3,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_3),F_1),Ta),D_2))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),Pa),C_1),F_1),Ta),D_2)) ),
    inference(fof_nnf,[status(thm)],[fact_461_has__field__mono]) ).

fof(f_609_2,plain,
    ! [U_3166,U_3165,U_3164,U_3163,U_3162,U_3161,U_3160] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_3166),U_3164),U_3165),U_3162),U_3161),U_3160))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3165),U_3163)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3166),U_3164))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_3166),U_3164),U_3163),U_3162),U_3161),U_3160)) ),
    inference(variable_rename,[status(thm)],[f_609_1]) ).

cnf(f_609_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_3166),U_3164),U_3165),U_3162),U_3161),U_3160))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3165),U_3163)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3166),U_3164))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3166)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_3166),U_3164),U_3163),U_3162),U_3161),U_3160)) ),
    inference(clausify,[status(thm)],[f_609_2]) ).

fof(f_610_1,plain,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_462_red__reds_OBinOpRed1]) ).

fof(f_610_2,plain,
    ! [U_3173,U_3172,U_3171,U_3170,U_3169,U_3168,U_3167] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3171),U_3173),U_3172)),U_3170)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3169),U_3173),U_3172)),U_3168))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3167)))
      | ~ 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)))),U_3171),U_3170)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3169),U_3168))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3167))) ),
    inference(variable_rename,[status(thm)],[f_610_1]) ).

cnf(f_610_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3171),U_3173),U_3172)),U_3170)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3169),U_3173),U_3172)),U_3168))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3167)))
    | ~ 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)))),U_3171),U_3170)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3169),U_3168))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3167))) ),
    inference(clausify,[status(thm)],[f_610_2]) ).

fof(f_611_1,plain,
    ! [Bop_2,E_2,Eb,S_2_1,Pa,E_1_1,S_0,V_1_2,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_463_eval__evals_OBinOpThrow2]) ).

fof(f_611_2,plain,
    ! [U_3182,U_3181,U_3180,U_3179,U_3178,U_3177,U_3176,U_3175,U_3174] :
      ( 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,U_3178),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3177),U_3182),U_3181)),U_3176),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3180)),U_3179))
      | ~ 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,U_3178),U_3181),U_3174),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3180)),U_3179))
      | ~ 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,U_3178),U_3177),U_3176),hAPP(val,exp(list(char)),val_1(list(char)),U_3175)),U_3174)) ),
    inference(variable_rename,[status(thm)],[f_611_1]) ).

cnf(f_611_3,plain,
    ( 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,U_3178),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3177),U_3182),U_3181)),U_3176),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3180)),U_3179))
    | ~ 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,U_3178),U_3181),U_3174),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3180)),U_3179))
    | ~ 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,U_3178),U_3177),U_3176),hAPP(val,exp(list(char)),val_1(list(char)),U_3175)),U_3174)) ),
    inference(clausify,[status(thm)],[f_611_2]) ).

fof(f_612_1,plain,
    ! [Pa,V_1_2,Bop_2,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_464_redp__redsp_OBinOpThrow2]) ).

fof(f_612_2,plain,
    ! [U_3187,U_3186,U_3185,U_3184,U_3183] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3187),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3186)),U_3185),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3184))),U_3183),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3184)),U_3183)),
    inference(variable_rename,[status(thm)],[f_612_1]) ).

cnf(f_612_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3187),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3186)),U_3185),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3184))),U_3183),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3184)),U_3183)),
    inference(clausify,[status(thm)],[f_612_2]) ).

fof(f_613_1,plain,
    ! [C_1,Va_1,E_2,Eb,S,E_b,S_3,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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),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_b),C_1),Va_1),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_465_red__reds_OTryRed]) ).

fof(f_613_2,plain,
    ! [U_3195,U_3194,U_3193,U_3192,U_3191,U_3190,U_3189,U_3188] :
      ( 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)),U_3192),U_3195),U_3194),U_3193)),U_3191)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(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)),U_3190),U_3195),U_3194),U_3193)),U_3189))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3188)))
      | ~ 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)))),U_3192),U_3191)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3190),U_3189))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3188))) ),
    inference(variable_rename,[status(thm)],[f_613_1]) ).

cnf(f_613_3,plain,
    ( 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)),U_3192),U_3195),U_3194),U_3193)),U_3191)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(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)),U_3190),U_3195),U_3194),U_3193)),U_3189))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3188)))
    | ~ 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)))),U_3192),U_3191)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3190),U_3189))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3188))) ),
    inference(clausify,[status(thm)],[f_613_2]) ).

fof(f_614_1,plain,
    ! [V_1_2,Bop_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_466_red__reds_OBinOpRed2]) ).

fof(f_614_2,plain,
    ! [U_3202,U_3201,U_3200,U_3199,U_3198,U_3197,U_3196] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3202)),U_3201),U_3200)),U_3199)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3202)),U_3201),U_3198)),U_3197))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3196)))
      | ~ 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)))),U_3200),U_3199)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3198),U_3197))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3196))) ),
    inference(variable_rename,[status(thm)],[f_614_1]) ).

cnf(f_614_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3202)),U_3201),U_3200)),U_3199)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3202)),U_3201),U_3198)),U_3197))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3196)))
    | ~ 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)))),U_3200),U_3199)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3198),U_3197))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3196))) ),
    inference(clausify,[status(thm)],[f_614_2]) ).

fof(f_615_1,plain,
    ! [Eb,Bop_2,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_467_red__reds_OBinOpThrow1]) ).

fof(f_615_2,plain,
    ! [U_3207,U_3206,U_3205,U_3204,U_3203] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3207)),U_3206),U_3205)),U_3204)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3207)),U_3204))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3203))),
    inference(variable_rename,[status(thm)],[f_615_1]) ).

cnf(f_615_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3207)),U_3206),U_3205)),U_3204)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3207)),U_3204))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3203))),
    inference(clausify,[status(thm)],[f_615_2]) ).

fof(f_616_1,plain,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_b),Bop_2),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_468_BinOp1Reds]) ).

fof(f_616_2,plain,
    ! [U_3214,U_3213,U_3212,U_3211,U_3210,U_3209,U_3208] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3212),U_3214),U_3213)),U_3211)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3210),U_3214),U_3213)),U_3209))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3208))))
      | ~ 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)))),U_3212),U_3211)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3210),U_3209))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3208)))) ),
    inference(variable_rename,[status(thm)],[f_616_1]) ).

cnf(f_616_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3212),U_3214),U_3213)),U_3211)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3210),U_3214),U_3213)),U_3209))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3208))))
    | ~ 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)))),U_3212),U_3211)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3210),U_3209))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3208)))) ),
    inference(clausify,[status(thm)],[f_616_2]) ).

fof(f_617_1,plain,
    ! [Va,C_1,Va_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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))),
    inference(fof_nnf,[status(thm)],[fact_469_red__reds_ORedTry]) ).

fof(f_617_2,plain,
    ! [U_3220,U_3219,U_3218,U_3217,U_3216,U_3215] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3220)),U_3219),U_3218),U_3217)),U_3216)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3220)),U_3216))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3215))),
    inference(variable_rename,[status(thm)],[f_617_1]) ).

cnf(f_617_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3220)),U_3219),U_3218),U_3217)),U_3216)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3220)),U_3216))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3215))),
    inference(clausify,[status(thm)],[f_617_2]) ).

fof(f_618_1,plain,
    ! [C_1,Va_1,E_2,Eb,S,E_b,S_3,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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),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_b),C_1),Va_1),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_470_TryReds]) ).

fof(f_618_2,plain,
    ! [U_3228,U_3227,U_3226,U_3225,U_3224,U_3223,U_3222,U_3221] :
      ( 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)),U_3225),U_3228),U_3227),U_3226)),U_3224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(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)),U_3223),U_3228),U_3227),U_3226)),U_3222))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3221))))
      | ~ 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)))),U_3225),U_3224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3223),U_3222))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3221)))) ),
    inference(variable_rename,[status(thm)],[f_618_1]) ).

cnf(f_618_3,plain,
    ( 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)),U_3225),U_3228),U_3227),U_3226)),U_3224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(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)),U_3223),U_3228),U_3227),U_3226)),U_3222))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3221))))
    | ~ 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)))),U_3225),U_3224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3223),U_3222))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3221)))) ),
    inference(clausify,[status(thm)],[f_618_2]) ).

fof(f_619_1,plain,
    ! [Va_1,E_2,C_1,D_2,Fs,Pa,E_1_1,S_0,A_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ),
    inference(fof_nnf,[status(thm)],[fact_471_TryThrow]) ).

fof(f_619_2,plain,
    ! [U_3239,U_3238,U_3237,U_3236,U_3235,U_3234,U_3233,U_3232,U_3231,U_3230,U_3229] :
      ( 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,U_3234),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)),U_3233),U_3237),U_3239),U_3238)),U_3232),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3231)))),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))),U_3230),U_3229)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3236),U_3237)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3234))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3230,U_3231) != 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))),U_3236),U_3235))
      | ~ 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,U_3234),U_3233),U_3232),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3231)))),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))),U_3230),U_3229))) ),
    inference(variable_rename,[status(thm)],[f_619_1]) ).

cnf(f_619_3,plain,
    ( 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,U_3234),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)),U_3233),U_3237),U_3239),U_3238)),U_3232),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3231)))),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))),U_3230),U_3229)))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3236),U_3237)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3234))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3230,U_3231) != 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))),U_3236),U_3235))
    | ~ 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,U_3234),U_3233),U_3232),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3231)))),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))),U_3230),U_3229))) ),
    inference(clausify,[status(thm)],[f_619_2]) ).

fof(f_620_1,plain,
    ! [V_1_2,Bop_2,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_472_red__reds_OBinOpThrow2]) ).

fof(f_620_2,plain,
    ! [U_3244,U_3243,U_3242,U_3241,U_3240] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3244)),U_3243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3242))),U_3241)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3242)),U_3241))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3240))),
    inference(variable_rename,[status(thm)],[f_620_1]) ).

cnf(f_620_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3244)),U_3243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3242))),U_3241)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3242)),U_3241))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3240))),
    inference(clausify,[status(thm)],[f_620_2]) ).

fof(f_621_1,plain,
    ! [Va,Bop_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Bop_2),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Bop_2),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_473_BinOp2Reds]) ).

fof(f_621_2,plain,
    ! [U_3251,U_3250,U_3249,U_3248,U_3247,U_3246,U_3245] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3251)),U_3250),U_3249)),U_3248)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3251)),U_3250),U_3247)),U_3246))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3245))))
      | ~ 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)))),U_3249),U_3248)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3247),U_3246))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3245)))) ),
    inference(variable_rename,[status(thm)],[f_621_1]) ).

cnf(f_621_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3251)),U_3250),U_3249)),U_3248)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3251)),U_3250),U_3247)),U_3246))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3245))))
    | ~ 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)))),U_3249),U_3248)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3247),U_3246))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3245)))) ),
    inference(clausify,[status(thm)],[f_621_2]) ).

fof(f_622_1,plain,
    ! [Bop_2,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),Eb),Bop_2),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_474_BinOpRedsThrow1]) ).

fof(f_622_2,plain,
    ! [U_3258,U_3257,U_3256,U_3255,U_3254,U_3253,U_3252] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3256),U_3258),U_3257)),U_3255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3254)),U_3253))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3252))))
      | ~ 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)))),U_3256),U_3255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3254)),U_3253))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3252)))) ),
    inference(variable_rename,[status(thm)],[f_622_1]) ).

cnf(f_622_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3256),U_3258),U_3257)),U_3255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3254)),U_3253))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3252))))
    | ~ 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)))),U_3256),U_3255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3254)),U_3253))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3252)))) ),
    inference(clausify,[status(thm)],[f_622_2]) ).

fof(f_623_1,plain,
    ! [C_1,Va_1,E_2,Eb,S,Va,S_3,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)),Eb),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_475_TryRedsVal]) ).

fof(f_623_2,plain,
    ! [U_3266,U_3265,U_3264,U_3263,U_3262,U_3261,U_3260,U_3259] :
      ( 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)),U_3263),U_3266),U_3265),U_3264)),U_3262)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3261)),U_3260))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3259))))
      | ~ 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)))),U_3263),U_3262)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3261)),U_3260))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3259)))) ),
    inference(variable_rename,[status(thm)],[f_623_1]) ).

cnf(f_623_3,plain,
    ( 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)),U_3263),U_3266),U_3265),U_3264)),U_3262)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3261)),U_3260))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3259))))
    | ~ 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)))),U_3263),U_3262)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3261)),U_3260))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3259)))) ),
    inference(clausify,[status(thm)],[f_623_2]) ).

fof(f_624_1,plain,
    ! [Va_1,E_2,C_1,Pa,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_476_red__reds_ORedTryFail]) ).

fof(f_624_2,plain,
    ! [U_3274,U_3273,U_3272,U_3271,U_3270,U_3269,U_3268,U_3267] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3272),U_3274),U_3273)),U_3270)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3270))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3271)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3268),U_3272)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3271))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3270),U_3269) != 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))),U_3268),U_3267)) ),
    inference(variable_rename,[status(thm)],[f_624_1]) ).

fof(f_624_3,plain,
    ! [U_3274,U_3273,U_3272,U_3271,U_3270,U_3269,U_3268] :
      ( ! [U_3267] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3270),U_3269) != 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))),U_3268),U_3267))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3272),U_3274),U_3273)),U_3270)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3270))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3271)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3268),U_3272)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3271)))) ),
    inference(miniscope,[status(thm)],[f_624_2]) ).

cnf(f_624_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3270),U_3269) != 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))),U_3268),U_3267))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3272),U_3274),U_3273)),U_3270)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3269)))),U_3270))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3271)))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3268),U_3272)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3271)))) ),
    inference(clausify,[status(thm)],[f_624_3]) ).

fof(f_625_1,plain,
    ! [E_2,Va_1,E_2_1,H_2,L_2,C_1,D_2,Fs,Pa,E_1_1,S_0,A_1,H_1,L_1_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),S_0),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_2),Va_1),hAPP(list(char),option(val),L_1_1,Va_1)))))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),L_1_1),Va_1),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1))))),E_2_1),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_1,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))),D_2),Fs))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ),
    inference(fof_nnf,[status(thm)],[fact_477_TryCatch]) ).

fof(f_625_2,plain,
    ! [U_3288,U_3287,U_3286,U_3285,U_3284,U_3283,U_3282,U_3281,U_3280,U_3279,U_3278,U_3277,U_3276,U_3275] :
      ( 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,U_3280),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)),U_3279),U_3283),U_3287),U_3288)),U_3278),U_3286),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))),U_3285),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_3284),U_3287),hAPP(list(char),option(val),U_3275,U_3287)))))
      | ~ 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,U_3280),U_3288),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))),U_3276),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_3275),U_3287),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_3277))))),U_3286),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))),U_3285),U_3284)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3282),U_3283)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3280))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3276,U_3277) != 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))),U_3282),U_3281))
      | ~ 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,U_3280),U_3279),U_3278),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3277)))),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))),U_3276),U_3275))) ),
    inference(variable_rename,[status(thm)],[f_625_1]) ).

cnf(f_625_3,plain,
    ( 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,U_3280),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)),U_3279),U_3283),U_3287),U_3288)),U_3278),U_3286),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))),U_3285),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_3284),U_3287),hAPP(list(char),option(val),U_3275,U_3287)))))
    | ~ 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,U_3280),U_3288),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))),U_3276),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),U_3275),U_3287),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_3277))))),U_3286),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))),U_3285),U_3284)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3282),U_3283)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3280))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3276,U_3277) != 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))),U_3282),U_3281))
    | ~ 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,U_3280),U_3279),U_3278),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3277)))),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))),U_3276),U_3275))) ),
    inference(clausify,[status(thm)],[f_625_2]) ).

fof(f_626_1,plain,
    ! [Pa,Hb,Ea,Eb,Ta] :
      ( ? [T_r_1] :
          ( hBOOL(hAPP(ty,bool,is_refT,T_r_1))
          & hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),T_r_1)) )
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_478_WTrt__elim__cases_I4_J]) ).

fof(f_626_2,plain,
    ! [U_3294,U_3293,U_3292,U_3291,U_3290] :
      ( ? [U_3289] :
          ( hBOOL(hAPP(ty,bool,is_refT,U_3289))
          & 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_1,U_3294),U_3293),U_3292),U_3291),U_3289)) )
      | ~ 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_1,U_3294),U_3293),U_3292),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3291)),U_3290)) ),
    inference(variable_rename,[status(thm)],[f_626_1]) ).

fof(f_626_3,plain,
    ! [U_3294,U_3293,U_3292,U_3291] :
      ( ! [U_3290] : ~ 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_1,U_3294),U_3293),U_3292),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3291)),U_3290))
      | ? [U_3289] :
          ( hBOOL(hAPP(ty,bool,is_refT,U_3289))
          & 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_1,U_3294),U_3293),U_3292),U_3291),U_3289)) ) ),
    inference(miniscope,[status(thm)],[f_626_2]) ).

fof(f_626_4,plain,
    ! [U_3294,U_3293,U_3292,U_3291] :
      ( ! [U_3290] : ~ 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_1,U_3294),U_3293),U_3292),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3291)),U_3290))
      | ( hBOOL(hAPP(ty,bool,is_refT,sK139(U_3294,U_3293,U_3292,U_3291)))
        & 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_1,U_3294),U_3293),U_3292),U_3291),sK139(U_3294,U_3293,U_3292,U_3291))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK139]),skolemize(U_3289,sK139(U_3294,U_3293,U_3292,U_3291))],[f_626_3]) ).

cnf(f_626_5,plain,
    ( 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_1,U_3294),U_3293),U_3292),U_3291),sK139(U_3294,U_3293,U_3292,U_3291)))
    | ~ 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_1,U_3294),U_3293),U_3292),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3291)),U_3290)) ),
    inference(clausify,[status(thm)],[f_626_4]) ).

cnf(f_626_6,plain,
    ( hBOOL(hAPP(ty,bool,is_refT,sK139(U_3294,U_3293,U_3292,U_3291)))
    | ~ 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_1,U_3294),U_3293),U_3292),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3291)),U_3290)) ),
    inference(clausify,[status(thm)],[f_626_4]) ).

fof(f_627_1,plain,
    ! [X_1,A_1,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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)))),X_1))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_479_preallocated__new]) ).

fof(f_627_2,plain,
    ! [U_3297,U_3296,U_3295] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_3295),U_3296),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)))),U_3297))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3295,U_3296) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3295)) ),
    inference(variable_rename,[status(thm)],[f_627_1]) ).

cnf(f_627_3,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_3295),U_3296),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)))),U_3297))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3295,U_3296) != none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3295)) ),
    inference(clausify,[status(thm)],[f_627_2]) ).

fof(f_628_1,plain,
    ! [Va_1,E_2,C_1,Pa,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),hAPP(list(char),ty,class,C_1)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),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)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_480_red__reds_ORedTryCatch]) ).

fof(f_628_2,plain,
    ! [U_3305,U_3304,U_3303,U_3302,U_3301,U_3300,U_3299,U_3298] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3303),U_3305),U_3304)),U_3301)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3305),hAPP(list(char),ty,class,U_3303)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3305),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3304))),U_3301))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3302)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3299),U_3303)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3302))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3301),U_3300) != 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))),U_3299),U_3298)) ),
    inference(variable_rename,[status(thm)],[f_628_1]) ).

fof(f_628_3,plain,
    ! [U_3305,U_3304,U_3303,U_3302,U_3301,U_3300,U_3299] :
      ( ! [U_3298] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3301),U_3300) != 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))),U_3299),U_3298))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3303),U_3305),U_3304)),U_3301)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3305),hAPP(list(char),ty,class,U_3303)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3305),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3304))),U_3301))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3302)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3299),U_3303)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3302)))) ),
    inference(miniscope,[status(thm)],[f_628_2]) ).

cnf(f_628_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3301),U_3300) != 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))),U_3299),U_3298))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3303),U_3305),U_3304)),U_3301)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3305),hAPP(list(char),ty,class,U_3303)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3305),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3300)))),U_3304))),U_3301))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3302)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3299),U_3303)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3302)))) ),
    inference(clausify,[status(thm)],[f_628_3]) ).

fof(f_629_1,plain,
    ! [Fs_2,A_1,C_1,Fs,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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_2)))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_481_preallocated__upd__obj]) ).

fof(f_629_2,plain,
    ! [U_3310,U_3309,U_3308,U_3307,U_3306] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_3306),U_3309),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))),U_3308),U_3310)))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3306,U_3309) != 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))),U_3308),U_3307))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3306)) ),
    inference(variable_rename,[status(thm)],[f_629_1]) ).

cnf(f_629_3,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_3306),U_3309),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))),U_3308),U_3310)))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3306,U_3309) != 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))),U_3308),U_3307))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3306)) ),
    inference(clausify,[status(thm)],[f_629_2]) ).

fof(f_630_1,plain,
    ! [C_1,D_2,Fs,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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))),D_2),Fs))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_482_CastRedsAddr]) ).

fof(f_630_2,plain,
    ! [U_3318,U_3317,U_3316,U_3315,U_3314,U_3313,U_3312,U_3311] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3318),U_3315)),U_3314)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3313))),U_3312))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3311))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3317),U_3318)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3311))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3312),U_3313) != 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))),U_3317),U_3316))
      | ~ 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)))),U_3315),U_3314)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3313))),U_3312))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3311)))) ),
    inference(variable_rename,[status(thm)],[f_630_1]) ).

cnf(f_630_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3318),U_3315)),U_3314)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3313))),U_3312))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3311))))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3317),U_3318)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3311))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3312),U_3313) != 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))),U_3317),U_3316))
    | ~ 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)))),U_3315),U_3314)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3313))),U_3312))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3311)))) ),
    inference(clausify,[status(thm)],[f_630_2]) ).

fof(f_631_1,plain,
    ! [Va_1,C_1,E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),T_1_1)) ),
    inference(fof_nnf,[status(thm)],[fact_483_WTrtTry]) ).

fof(f_631_2,plain,
    ! [U_3327,U_3326,U_3325,U_3324,U_3323,U_3322,U_3321,U_3320,U_3319] :
      ( 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_1,U_3323),U_3322),U_3321),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)),U_3320),U_3326),U_3327),U_3325)),U_3324))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3323),U_3319),U_3324))
      | ~ 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_1,U_3323),U_3322),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3321),U_3327),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3326)))),U_3325),U_3324))
      | ~ 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_1,U_3323),U_3322),U_3321),U_3320),U_3319)) ),
    inference(variable_rename,[status(thm)],[f_631_1]) ).

cnf(f_631_3,plain,
    ( 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_1,U_3323),U_3322),U_3321),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)),U_3320),U_3326),U_3327),U_3325)),U_3324))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3323),U_3319),U_3324))
    | ~ 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_1,U_3323),U_3322),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3321),U_3327),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3326)))),U_3325),U_3324))
    | ~ 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_1,U_3323),U_3322),U_3321),U_3320),U_3319)) ),
    inference(clausify,[status(thm)],[f_631_2]) ).

fof(f_632_1,plain,
    ! [X_a,List,Exp_3,List_1,Exp_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List),Exp_3) = hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_2)
        | Exp_3 != Exp_2
        | List != List_1 )
      & ( ( Exp_3 = Exp_2
          & List = List_1 )
        | hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List),Exp_3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_1),Exp_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_484_exp_Osimps_I2_J]) ).

fof(f_632_2,plain,
    ! [U_3332,U_3331,U_3330,U_3329,U_3328] :
      ( ( hAPP(exp(U_3332),exp(U_3332),hAPP(list(char),fun(exp(U_3332),exp(U_3332)),cast(U_3332),U_3331),U_3330) = hAPP(exp(U_3332),exp(U_3332),hAPP(list(char),fun(exp(U_3332),exp(U_3332)),cast(U_3332),U_3329),U_3328)
        | U_3330 != U_3328
        | U_3331 != U_3329 )
      & ( ( U_3330 = U_3328
          & U_3331 = U_3329 )
        | hAPP(exp(U_3332),exp(U_3332),hAPP(list(char),fun(exp(U_3332),exp(U_3332)),cast(U_3332),U_3331),U_3330) != hAPP(exp(U_3332),exp(U_3332),hAPP(list(char),fun(exp(U_3332),exp(U_3332)),cast(U_3332),U_3329),U_3328) ) ),
    inference(variable_rename,[status(thm)],[f_632_1]) ).

fof(f_632_3,plain,
    ( ! [U_3342,U_3340,U_3338,U_3336,U_3334] :
        ( hAPP(exp(U_3342),exp(U_3342),hAPP(list(char),fun(exp(U_3342),exp(U_3342)),cast(U_3342),U_3340),U_3338) = hAPP(exp(U_3342),exp(U_3342),hAPP(list(char),fun(exp(U_3342),exp(U_3342)),cast(U_3342),U_3336),U_3334)
        | U_3338 != U_3334
        | U_3340 != U_3336 )
    & ! [U_3341,U_3339,U_3337,U_3335,U_3333] :
        ( ( U_3337 = U_3333
          & U_3339 = U_3335 )
        | hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3339),U_3337) != hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3335),U_3333) ) ),
    inference(miniscope,[status(thm)],[f_632_2]) ).

cnf(f_632_4,plain,
    ( U_3339 = U_3335
    | hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3339),U_3337) != hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3335),U_3333) ),
    inference(clausify,[status(thm)],[f_632_3]) ).

cnf(f_632_5,plain,
    ( U_3337 = U_3333
    | hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3339),U_3337) != hAPP(exp(U_3341),exp(U_3341),hAPP(list(char),fun(exp(U_3341),exp(U_3341)),cast(U_3341),U_3335),U_3333) ),
    inference(clausify,[status(thm)],[f_632_3]) ).

cnf(f_632_6,plain,
    ( hAPP(exp(U_3342),exp(U_3342),hAPP(list(char),fun(exp(U_3342),exp(U_3342)),cast(U_3342),U_3340),U_3338) = hAPP(exp(U_3342),exp(U_3342),hAPP(list(char),fun(exp(U_3342),exp(U_3342)),cast(U_3342),U_3336),U_3334)
    | U_3338 != U_3334
    | U_3340 != U_3336 ),
    inference(clausify,[status(thm)],[f_632_3]) ).

fof(f_633_1,plain,
    ! [C_1,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_485_redp__redsp_OCastRed]) ).

fof(f_633_2,plain,
    ! [U_3348,U_3347,U_3346,U_3345,U_3344,U_3343] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3347),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3348),U_3346)),U_3345),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3348),U_3344)),U_3343))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3347),U_3346),U_3345),U_3344),U_3343)) ),
    inference(variable_rename,[status(thm)],[f_633_1]) ).

cnf(f_633_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3347),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3348),U_3346)),U_3345),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3348),U_3344)),U_3343))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3347),U_3346),U_3345),U_3344),U_3343)) ),
    inference(clausify,[status(thm)],[f_633_2]) ).

fof(f_634_1,plain,
    ! [C_1,Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)) = hAPP(exp(list(char)),fun(list(char),bool),fv,Eb),
    inference(fof_nnf,[status(thm)],[fact_486_fv__fvs_Osimps_I2_J]) ).

fof(f_634_2,plain,
    ! [U_3350,U_3349] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3350),U_3349)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_3349),
    inference(variable_rename,[status(thm)],[f_634_1]) ).

cnf(f_634_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3350),U_3349)) = hAPP(exp(list(char)),fun(list(char),bool),fv,U_3349),
    inference(clausify,[status(thm)],[f_634_2]) ).

fof(f_635_1,plain,
    ! [X_a,Val_1,List_2,Exp] : hAPP(val,exp(X_a),val_1(X_a),Val_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_487_exp_Osimps_I45_J]) ).

fof(f_635_2,plain,
    ! [U_3354,U_3353,U_3352,U_3351] : hAPP(val,exp(U_3354),val_1(U_3354),U_3353) != hAPP(exp(U_3354),exp(U_3354),hAPP(list(char),fun(exp(U_3354),exp(U_3354)),cast(U_3354),U_3352),U_3351),
    inference(variable_rename,[status(thm)],[f_635_1]) ).

cnf(f_635_3,plain,
    hAPP(val,exp(U_3354),val_1(U_3354),U_3353) != hAPP(exp(U_3354),exp(U_3354),hAPP(list(char),fun(exp(U_3354),exp(U_3354)),cast(U_3354),U_3352),U_3351),
    inference(clausify,[status(thm)],[f_635_2]) ).

fof(f_636_1,plain,
    ! [X_a,List_2,Exp,Val_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(val,exp(X_a),val_1(X_a),Val_1),
    inference(fof_nnf,[status(thm)],[fact_488_exp_Osimps_I44_J]) ).

fof(f_636_2,plain,
    ! [U_3358,U_3357,U_3356,U_3355] : hAPP(exp(U_3358),exp(U_3358),hAPP(list(char),fun(exp(U_3358),exp(U_3358)),cast(U_3358),U_3357),U_3356) != hAPP(val,exp(U_3358),val_1(U_3358),U_3355),
    inference(variable_rename,[status(thm)],[f_636_1]) ).

cnf(f_636_3,plain,
    hAPP(exp(U_3358),exp(U_3358),hAPP(list(char),fun(exp(U_3358),exp(U_3358)),cast(U_3358),U_3357),U_3356) != hAPP(val,exp(U_3358),val_1(U_3358),U_3355),
    inference(clausify,[status(thm)],[f_636_2]) ).

fof(f_637_1,plain,
    ! [X_a,List_2,Exp,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_489_exp_Osimps_I66_J]) ).

fof(f_637_2,plain,
    ! [U_3362,U_3361,U_3360,U_3359] : hAPP(exp(U_3362),exp(U_3362),hAPP(list(char),fun(exp(U_3362),exp(U_3362)),cast(U_3362),U_3361),U_3360) != hAPP(exp(U_3362),exp(U_3362),throw(U_3362),U_3359),
    inference(variable_rename,[status(thm)],[f_637_1]) ).

cnf(f_637_3,plain,
    hAPP(exp(U_3362),exp(U_3362),hAPP(list(char),fun(exp(U_3362),exp(U_3362)),cast(U_3362),U_3361),U_3360) != hAPP(exp(U_3362),exp(U_3362),throw(U_3362),U_3359),
    inference(clausify,[status(thm)],[f_637_2]) ).

fof(f_638_1,plain,
    ! [X_a,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_490_exp_Osimps_I67_J]) ).

fof(f_638_2,plain,
    ! [U_3366,U_3365,U_3364,U_3363] : hAPP(exp(U_3366),exp(U_3366),throw(U_3366),U_3365) != hAPP(exp(U_3366),exp(U_3366),hAPP(list(char),fun(exp(U_3366),exp(U_3366)),cast(U_3366),U_3364),U_3363),
    inference(variable_rename,[status(thm)],[f_638_1]) ).

cnf(f_638_3,plain,
    hAPP(exp(U_3366),exp(U_3366),throw(U_3366),U_3365) != hAPP(exp(U_3366),exp(U_3366),hAPP(list(char),fun(exp(U_3366),exp(U_3366)),cast(U_3366),U_3364),U_3363),
    inference(clausify,[status(thm)],[f_638_2]) ).

fof(f_639_1,plain,
    ! [X_a,Exp1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_491_exp_Osimps_I61_J]) ).

fof(f_639_2,plain,
    ! [U_3371,U_3370,U_3369,U_3368,U_3367] : hAPP(exp(U_3371),exp(U_3371),hAPP(exp(U_3371),fun(exp(U_3371),exp(U_3371)),seq(U_3371),U_3370),U_3369) != hAPP(exp(U_3371),exp(U_3371),hAPP(list(char),fun(exp(U_3371),exp(U_3371)),cast(U_3371),U_3368),U_3367),
    inference(variable_rename,[status(thm)],[f_639_1]) ).

cnf(f_639_3,plain,
    hAPP(exp(U_3371),exp(U_3371),hAPP(exp(U_3371),fun(exp(U_3371),exp(U_3371)),seq(U_3371),U_3370),U_3369) != hAPP(exp(U_3371),exp(U_3371),hAPP(list(char),fun(exp(U_3371),exp(U_3371)),cast(U_3371),U_3368),U_3367),
    inference(clausify,[status(thm)],[f_639_2]) ).

fof(f_640_1,plain,
    ! [X_a,List_2,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_492_exp_Osimps_I60_J]) ).

fof(f_640_2,plain,
    ! [U_3376,U_3375,U_3374,U_3373,U_3372] : hAPP(exp(U_3376),exp(U_3376),hAPP(list(char),fun(exp(U_3376),exp(U_3376)),cast(U_3376),U_3375),U_3374) != hAPP(exp(U_3376),exp(U_3376),hAPP(exp(U_3376),fun(exp(U_3376),exp(U_3376)),seq(U_3376),U_3373),U_3372),
    inference(variable_rename,[status(thm)],[f_640_1]) ).

cnf(f_640_3,plain,
    hAPP(exp(U_3376),exp(U_3376),hAPP(list(char),fun(exp(U_3376),exp(U_3376)),cast(U_3376),U_3375),U_3374) != hAPP(exp(U_3376),exp(U_3376),hAPP(exp(U_3376),fun(exp(U_3376),exp(U_3376)),seq(U_3376),U_3373),U_3372),
    inference(clausify,[status(thm)],[f_640_2]) ).

fof(f_641_1,plain,
    ! [X_a,List_2,Exp,A_6,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_493_exp_Osimps_I50_J]) ).

fof(f_641_2,plain,
    ! [U_3381,U_3380,U_3379,U_3378,U_3377] : hAPP(exp(U_3381),exp(U_3381),hAPP(list(char),fun(exp(U_3381),exp(U_3381)),cast(U_3381),U_3380),U_3379) != hAPP(exp(U_3381),exp(U_3381),hAPP(U_3381,fun(exp(U_3381),exp(U_3381)),lAss(U_3381),U_3378),U_3377),
    inference(variable_rename,[status(thm)],[f_641_1]) ).

cnf(f_641_3,plain,
    hAPP(exp(U_3381),exp(U_3381),hAPP(list(char),fun(exp(U_3381),exp(U_3381)),cast(U_3381),U_3380),U_3379) != hAPP(exp(U_3381),exp(U_3381),hAPP(U_3381,fun(exp(U_3381),exp(U_3381)),lAss(U_3381),U_3378),U_3377),
    inference(clausify,[status(thm)],[f_641_2]) ).

fof(f_642_1,plain,
    ! [X_a,A_6,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_494_exp_Osimps_I51_J]) ).

fof(f_642_2,plain,
    ! [U_3386,U_3385,U_3384,U_3383,U_3382] : hAPP(exp(U_3386),exp(U_3386),hAPP(U_3386,fun(exp(U_3386),exp(U_3386)),lAss(U_3386),U_3385),U_3384) != hAPP(exp(U_3386),exp(U_3386),hAPP(list(char),fun(exp(U_3386),exp(U_3386)),cast(U_3386),U_3383),U_3382),
    inference(variable_rename,[status(thm)],[f_642_1]) ).

cnf(f_642_3,plain,
    hAPP(exp(U_3386),exp(U_3386),hAPP(U_3386,fun(exp(U_3386),exp(U_3386)),lAss(U_3386),U_3385),U_3384) != hAPP(exp(U_3386),exp(U_3386),hAPP(list(char),fun(exp(U_3386),exp(U_3386)),cast(U_3386),U_3383),U_3382),
    inference(clausify,[status(thm)],[f_642_2]) ).

fof(f_643_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_495_exp_Osimps_I55_J]) ).

fof(f_643_2,plain,
    ! [U_3393,U_3392,U_3391,U_3390,U_3389,U_3388,U_3387] : hAPP(exp(U_3393),exp(U_3393),hAPP(list(char),fun(exp(U_3393),exp(U_3393)),hAPP(list(char),fun(list(char),fun(exp(U_3393),exp(U_3393))),hAPP(exp(U_3393),fun(list(char),fun(list(char),fun(exp(U_3393),exp(U_3393)))),fAss(U_3393),U_3392),U_3391),U_3390),U_3389) != hAPP(exp(U_3393),exp(U_3393),hAPP(list(char),fun(exp(U_3393),exp(U_3393)),cast(U_3393),U_3388),U_3387),
    inference(variable_rename,[status(thm)],[f_643_1]) ).

cnf(f_643_3,plain,
    hAPP(exp(U_3393),exp(U_3393),hAPP(list(char),fun(exp(U_3393),exp(U_3393)),hAPP(list(char),fun(list(char),fun(exp(U_3393),exp(U_3393))),hAPP(exp(U_3393),fun(list(char),fun(list(char),fun(exp(U_3393),exp(U_3393)))),fAss(U_3393),U_3392),U_3391),U_3390),U_3389) != hAPP(exp(U_3393),exp(U_3393),hAPP(list(char),fun(exp(U_3393),exp(U_3393)),cast(U_3393),U_3388),U_3387),
    inference(clausify,[status(thm)],[f_643_2]) ).

fof(f_644_1,plain,
    ! [X_a,List_2,Exp,Exp1,List1_1,List2_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_496_exp_Osimps_I54_J]) ).

fof(f_644_2,plain,
    ! [U_3400,U_3399,U_3398,U_3397,U_3396,U_3395,U_3394] : hAPP(exp(U_3400),exp(U_3400),hAPP(list(char),fun(exp(U_3400),exp(U_3400)),cast(U_3400),U_3399),U_3398) != hAPP(exp(U_3400),exp(U_3400),hAPP(list(char),fun(exp(U_3400),exp(U_3400)),hAPP(list(char),fun(list(char),fun(exp(U_3400),exp(U_3400))),hAPP(exp(U_3400),fun(list(char),fun(list(char),fun(exp(U_3400),exp(U_3400)))),fAss(U_3400),U_3397),U_3396),U_3395),U_3394),
    inference(variable_rename,[status(thm)],[f_644_1]) ).

cnf(f_644_3,plain,
    hAPP(exp(U_3400),exp(U_3400),hAPP(list(char),fun(exp(U_3400),exp(U_3400)),cast(U_3400),U_3399),U_3398) != hAPP(exp(U_3400),exp(U_3400),hAPP(list(char),fun(exp(U_3400),exp(U_3400)),hAPP(list(char),fun(list(char),fun(exp(U_3400),exp(U_3400))),hAPP(exp(U_3400),fun(list(char),fun(list(char),fun(exp(U_3400),exp(U_3400)))),fAss(U_3400),U_3397),U_3396),U_3395),U_3394),
    inference(clausify,[status(thm)],[f_644_2]) ).

fof(f_645_1,plain,
    ! [X_a,List_2,Exp,A_6,Ty,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_497_exp_Osimps_I58_J]) ).

fof(f_645_2,plain,
    ! [U_3406,U_3405,U_3404,U_3403,U_3402,U_3401] : hAPP(exp(U_3406),exp(U_3406),hAPP(list(char),fun(exp(U_3406),exp(U_3406)),cast(U_3406),U_3405),U_3404) != hAPP(exp(U_3406),exp(U_3406),hAPP(ty,fun(exp(U_3406),exp(U_3406)),hAPP(U_3406,fun(ty,fun(exp(U_3406),exp(U_3406))),block(U_3406),U_3403),U_3402),U_3401),
    inference(variable_rename,[status(thm)],[f_645_1]) ).

cnf(f_645_3,plain,
    hAPP(exp(U_3406),exp(U_3406),hAPP(list(char),fun(exp(U_3406),exp(U_3406)),cast(U_3406),U_3405),U_3404) != hAPP(exp(U_3406),exp(U_3406),hAPP(ty,fun(exp(U_3406),exp(U_3406)),hAPP(U_3406,fun(ty,fun(exp(U_3406),exp(U_3406))),block(U_3406),U_3403),U_3402),U_3401),
    inference(clausify,[status(thm)],[f_645_2]) ).

fof(f_646_1,plain,
    ! [X_a,A_6,Ty,Exp_1,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_498_exp_Osimps_I59_J]) ).

fof(f_646_2,plain,
    ! [U_3412,U_3411,U_3410,U_3409,U_3408,U_3407] : hAPP(exp(U_3412),exp(U_3412),hAPP(ty,fun(exp(U_3412),exp(U_3412)),hAPP(U_3412,fun(ty,fun(exp(U_3412),exp(U_3412))),block(U_3412),U_3411),U_3410),U_3409) != hAPP(exp(U_3412),exp(U_3412),hAPP(list(char),fun(exp(U_3412),exp(U_3412)),cast(U_3412),U_3408),U_3407),
    inference(variable_rename,[status(thm)],[f_646_1]) ).

cnf(f_646_3,plain,
    hAPP(exp(U_3412),exp(U_3412),hAPP(ty,fun(exp(U_3412),exp(U_3412)),hAPP(U_3412,fun(ty,fun(exp(U_3412),exp(U_3412))),block(U_3412),U_3411),U_3410),U_3409) != hAPP(exp(U_3412),exp(U_3412),hAPP(list(char),fun(exp(U_3412),exp(U_3412)),cast(U_3412),U_3408),U_3407),
    inference(clausify,[status(thm)],[f_646_2]) ).

fof(f_647_1,plain,
    ! [X_a,Exp1,Bop_1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_499_exp_Osimps_I47_J]) ).

fof(f_647_2,plain,
    ! [U_3418,U_3417,U_3416,U_3415,U_3414,U_3413] : hAPP(exp(U_3418),exp(U_3418),hAPP(bop,fun(exp(U_3418),exp(U_3418)),hAPP(exp(U_3418),fun(bop,fun(exp(U_3418),exp(U_3418))),binOp(U_3418),U_3417),U_3416),U_3415) != hAPP(exp(U_3418),exp(U_3418),hAPP(list(char),fun(exp(U_3418),exp(U_3418)),cast(U_3418),U_3414),U_3413),
    inference(variable_rename,[status(thm)],[f_647_1]) ).

cnf(f_647_3,plain,
    hAPP(exp(U_3418),exp(U_3418),hAPP(bop,fun(exp(U_3418),exp(U_3418)),hAPP(exp(U_3418),fun(bop,fun(exp(U_3418),exp(U_3418))),binOp(U_3418),U_3417),U_3416),U_3415) != hAPP(exp(U_3418),exp(U_3418),hAPP(list(char),fun(exp(U_3418),exp(U_3418)),cast(U_3418),U_3414),U_3413),
    inference(clausify,[status(thm)],[f_647_2]) ).

fof(f_648_1,plain,
    ! [X_a,List_2,Exp,Exp1,Bop_1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_500_exp_Osimps_I46_J]) ).

fof(f_648_2,plain,
    ! [U_3424,U_3423,U_3422,U_3421,U_3420,U_3419] : hAPP(exp(U_3424),exp(U_3424),hAPP(list(char),fun(exp(U_3424),exp(U_3424)),cast(U_3424),U_3423),U_3422) != hAPP(exp(U_3424),exp(U_3424),hAPP(bop,fun(exp(U_3424),exp(U_3424)),hAPP(exp(U_3424),fun(bop,fun(exp(U_3424),exp(U_3424))),binOp(U_3424),U_3421),U_3420),U_3419),
    inference(variable_rename,[status(thm)],[f_648_1]) ).

cnf(f_648_3,plain,
    hAPP(exp(U_3424),exp(U_3424),hAPP(list(char),fun(exp(U_3424),exp(U_3424)),cast(U_3424),U_3423),U_3422) != hAPP(exp(U_3424),exp(U_3424),hAPP(bop,fun(exp(U_3424),exp(U_3424)),hAPP(exp(U_3424),fun(bop,fun(exp(U_3424),exp(U_3424))),binOp(U_3424),U_3421),U_3420),U_3419),
    inference(clausify,[status(thm)],[f_648_2]) ).

fof(f_649_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,List_2,Exp] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_501_exp_Osimps_I53_J]) ).

fof(f_649_2,plain,
    ! [U_3430,U_3429,U_3428,U_3427,U_3426,U_3425] : hAPP(list(char),exp(U_3430),hAPP(list(char),fun(list(char),exp(U_3430)),hAPP(exp(U_3430),fun(list(char),fun(list(char),exp(U_3430))),fAcc(U_3430),U_3429),U_3428),U_3427) != hAPP(exp(U_3430),exp(U_3430),hAPP(list(char),fun(exp(U_3430),exp(U_3430)),cast(U_3430),U_3426),U_3425),
    inference(variable_rename,[status(thm)],[f_649_1]) ).

cnf(f_649_3,plain,
    hAPP(list(char),exp(U_3430),hAPP(list(char),fun(list(char),exp(U_3430)),hAPP(exp(U_3430),fun(list(char),fun(list(char),exp(U_3430))),fAcc(U_3430),U_3429),U_3428),U_3427) != hAPP(exp(U_3430),exp(U_3430),hAPP(list(char),fun(exp(U_3430),exp(U_3430)),cast(U_3430),U_3426),U_3425),
    inference(clausify,[status(thm)],[f_649_2]) ).

fof(f_650_1,plain,
    ! [X_a,List_2,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_502_exp_Osimps_I52_J]) ).

fof(f_650_2,plain,
    ! [U_3436,U_3435,U_3434,U_3433,U_3432,U_3431] : hAPP(exp(U_3436),exp(U_3436),hAPP(list(char),fun(exp(U_3436),exp(U_3436)),cast(U_3436),U_3435),U_3434) != hAPP(list(char),exp(U_3436),hAPP(list(char),fun(list(char),exp(U_3436)),hAPP(exp(U_3436),fun(list(char),fun(list(char),exp(U_3436))),fAcc(U_3436),U_3433),U_3432),U_3431),
    inference(variable_rename,[status(thm)],[f_650_1]) ).

cnf(f_650_3,plain,
    hAPP(exp(U_3436),exp(U_3436),hAPP(list(char),fun(exp(U_3436),exp(U_3436)),cast(U_3436),U_3435),U_3434) != hAPP(list(char),exp(U_3436),hAPP(list(char),fun(list(char),exp(U_3436)),hAPP(exp(U_3436),fun(list(char),fun(list(char),exp(U_3436))),fAcc(U_3436),U_3433),U_3432),U_3431),
    inference(clausify,[status(thm)],[f_650_2]) ).

fof(f_651_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_503_exp_Osimps_I69_J]) ).

fof(f_651_2,plain,
    ! [U_3443,U_3442,U_3441,U_3440,U_3439,U_3438,U_3437] : hAPP(exp(U_3443),exp(U_3443),hAPP(U_3443,fun(exp(U_3443),exp(U_3443)),hAPP(list(char),fun(U_3443,fun(exp(U_3443),exp(U_3443))),hAPP(exp(U_3443),fun(list(char),fun(U_3443,fun(exp(U_3443),exp(U_3443)))),tryCatch(U_3443),U_3442),U_3441),U_3440),U_3439) != hAPP(exp(U_3443),exp(U_3443),hAPP(list(char),fun(exp(U_3443),exp(U_3443)),cast(U_3443),U_3438),U_3437),
    inference(variable_rename,[status(thm)],[f_651_1]) ).

cnf(f_651_3,plain,
    hAPP(exp(U_3443),exp(U_3443),hAPP(U_3443,fun(exp(U_3443),exp(U_3443)),hAPP(list(char),fun(U_3443,fun(exp(U_3443),exp(U_3443))),hAPP(exp(U_3443),fun(list(char),fun(U_3443,fun(exp(U_3443),exp(U_3443)))),tryCatch(U_3443),U_3442),U_3441),U_3440),U_3439) != hAPP(exp(U_3443),exp(U_3443),hAPP(list(char),fun(exp(U_3443),exp(U_3443)),cast(U_3443),U_3438),U_3437),
    inference(clausify,[status(thm)],[f_651_2]) ).

fof(f_652_1,plain,
    ! [X_a,List_2,Exp,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_504_exp_Osimps_I68_J]) ).

fof(f_652_2,plain,
    ! [U_3450,U_3449,U_3448,U_3447,U_3446,U_3445,U_3444] : hAPP(exp(U_3450),exp(U_3450),hAPP(list(char),fun(exp(U_3450),exp(U_3450)),cast(U_3450),U_3449),U_3448) != hAPP(exp(U_3450),exp(U_3450),hAPP(U_3450,fun(exp(U_3450),exp(U_3450)),hAPP(list(char),fun(U_3450,fun(exp(U_3450),exp(U_3450))),hAPP(exp(U_3450),fun(list(char),fun(U_3450,fun(exp(U_3450),exp(U_3450)))),tryCatch(U_3450),U_3447),U_3446),U_3445),U_3444),
    inference(variable_rename,[status(thm)],[f_652_1]) ).

cnf(f_652_3,plain,
    hAPP(exp(U_3450),exp(U_3450),hAPP(list(char),fun(exp(U_3450),exp(U_3450)),cast(U_3450),U_3449),U_3448) != hAPP(exp(U_3450),exp(U_3450),hAPP(U_3450,fun(exp(U_3450),exp(U_3450)),hAPP(list(char),fun(U_3450,fun(exp(U_3450),exp(U_3450))),hAPP(exp(U_3450),fun(list(char),fun(U_3450,fun(exp(U_3450),exp(U_3450)))),tryCatch(U_3450),U_3447),U_3446),U_3445),U_3444),
    inference(clausify,[status(thm)],[f_652_2]) ).

fof(f_653_1,plain,
    ! [X_a,C_1,Eb,A_2] :
      ( ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),C_1),Eb)),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2)) )
      & ( hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),Eb),A_2))
        | ~ hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),C_1),Eb)),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_505__092_060D_062___092_060D_062s_Osimps_I2_J]) ).

fof(f_653_2,plain,
    ! [U_3454,U_3453,U_3452,U_3451] :
      ( ( hBOOL(hAPP(option(fun(U_3454,bool)),bool,hAPP(exp(U_3454),fun(option(fun(U_3454,bool)),bool),d(U_3454),hAPP(exp(U_3454),exp(U_3454),hAPP(list(char),fun(exp(U_3454),exp(U_3454)),cast(U_3454),U_3453),U_3452)),U_3451))
        | ~ hBOOL(hAPP(option(fun(U_3454,bool)),bool,hAPP(exp(U_3454),fun(option(fun(U_3454,bool)),bool),d(U_3454),U_3452),U_3451)) )
      & ( hBOOL(hAPP(option(fun(U_3454,bool)),bool,hAPP(exp(U_3454),fun(option(fun(U_3454,bool)),bool),d(U_3454),U_3452),U_3451))
        | ~ hBOOL(hAPP(option(fun(U_3454,bool)),bool,hAPP(exp(U_3454),fun(option(fun(U_3454,bool)),bool),d(U_3454),hAPP(exp(U_3454),exp(U_3454),hAPP(list(char),fun(exp(U_3454),exp(U_3454)),cast(U_3454),U_3453),U_3452)),U_3451)) ) ),
    inference(variable_rename,[status(thm)],[f_653_1]) ).

fof(f_653_3,plain,
    ( ! [U_3462,U_3460,U_3458,U_3456] :
        ( hBOOL(hAPP(option(fun(U_3462,bool)),bool,hAPP(exp(U_3462),fun(option(fun(U_3462,bool)),bool),d(U_3462),hAPP(exp(U_3462),exp(U_3462),hAPP(list(char),fun(exp(U_3462),exp(U_3462)),cast(U_3462),U_3460),U_3458)),U_3456))
        | ~ hBOOL(hAPP(option(fun(U_3462,bool)),bool,hAPP(exp(U_3462),fun(option(fun(U_3462,bool)),bool),d(U_3462),U_3458),U_3456)) )
    & ! [U_3461,U_3459,U_3457,U_3455] :
        ( hBOOL(hAPP(option(fun(U_3461,bool)),bool,hAPP(exp(U_3461),fun(option(fun(U_3461,bool)),bool),d(U_3461),U_3457),U_3455))
        | ~ hBOOL(hAPP(option(fun(U_3461,bool)),bool,hAPP(exp(U_3461),fun(option(fun(U_3461,bool)),bool),d(U_3461),hAPP(exp(U_3461),exp(U_3461),hAPP(list(char),fun(exp(U_3461),exp(U_3461)),cast(U_3461),U_3459),U_3457)),U_3455)) ) ),
    inference(miniscope,[status(thm)],[f_653_2]) ).

cnf(f_653_4,plain,
    ( hBOOL(hAPP(option(fun(U_3461,bool)),bool,hAPP(exp(U_3461),fun(option(fun(U_3461,bool)),bool),d(U_3461),U_3457),U_3455))
    | ~ hBOOL(hAPP(option(fun(U_3461,bool)),bool,hAPP(exp(U_3461),fun(option(fun(U_3461,bool)),bool),d(U_3461),hAPP(exp(U_3461),exp(U_3461),hAPP(list(char),fun(exp(U_3461),exp(U_3461)),cast(U_3461),U_3459),U_3457)),U_3455)) ),
    inference(clausify,[status(thm)],[f_653_3]) ).

cnf(f_653_5,plain,
    ( hBOOL(hAPP(option(fun(U_3462,bool)),bool,hAPP(exp(U_3462),fun(option(fun(U_3462,bool)),bool),d(U_3462),hAPP(exp(U_3462),exp(U_3462),hAPP(list(char),fun(exp(U_3462),exp(U_3462)),cast(U_3462),U_3460),U_3458)),U_3456))
    | ~ hBOOL(hAPP(option(fun(U_3462,bool)),bool,hAPP(exp(U_3462),fun(option(fun(U_3462,bool)),bool),d(U_3462),U_3458),U_3456)) ),
    inference(clausify,[status(thm)],[f_653_3]) ).

fof(f_654_1,plain,
    ! [C_1,Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_506_eval__evals_OCastThrow]) ).

fof(f_654_2,plain,
    ! [U_3468,U_3467,U_3466,U_3465,U_3464,U_3463] :
      ( 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,U_3467),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3468),U_3466)),U_3465),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3464)),U_3463))
      | ~ 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,U_3467),U_3466),U_3465),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3464)),U_3463)) ),
    inference(variable_rename,[status(thm)],[f_654_1]) ).

cnf(f_654_3,plain,
    ( 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,U_3467),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3468),U_3466)),U_3465),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3464)),U_3463))
    | ~ 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,U_3467),U_3466),U_3465),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3464)),U_3463)) ),
    inference(clausify,[status(thm)],[f_654_2]) ).

fof(f_655_1,plain,
    ! [Pa,C_1,Eb,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_507_redp__redsp_OCastThrow]) ).

fof(f_655_2,plain,
    ! [U_3472,U_3471,U_3470,U_3469] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3472),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3471),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3470))),U_3469),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3470)),U_3469)),
    inference(variable_rename,[status(thm)],[f_655_1]) ).

cnf(f_655_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3472),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3471),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3470))),U_3469),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3470)),U_3469)),
    inference(clausify,[status(thm)],[f_655_2]) ).

fof(f_656_1,plain,
    ! [F_1,Ta,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_508_WTrtFAcc]) ).

fof(f_656_2,plain,
    ! [U_3480,U_3479,U_3478,U_3477,U_3476,U_3475,U_3474,U_3473] :
      ( 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_1,U_3477),U_3476),U_3475),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3474),U_3480),U_3478)),U_3479))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3477),U_3473),U_3480),U_3479),U_3478))
      | ~ 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_1,U_3477),U_3476),U_3475),U_3474),hAPP(list(char),ty,class,U_3473))) ),
    inference(variable_rename,[status(thm)],[f_656_1]) ).

cnf(f_656_3,plain,
    ( 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_1,U_3477),U_3476),U_3475),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3474),U_3480),U_3478)),U_3479))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3477),U_3473),U_3480),U_3479),U_3478))
    | ~ 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_1,U_3477),U_3476),U_3475),U_3474),hAPP(list(char),ty,class,U_3473))) ),
    inference(clausify,[status(thm)],[f_656_2]) ).

fof(f_657_1,plain,
    ! [C_1,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_509_red__reds_OCastRed]) ).

fof(f_657_2,plain,
    ! [U_3486,U_3485,U_3484,U_3483,U_3482,U_3481] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3486),U_3485)),U_3484)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3486),U_3483)),U_3482))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3481)))
      | ~ 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)))),U_3485),U_3484)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3483),U_3482))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3481))) ),
    inference(variable_rename,[status(thm)],[f_657_1]) ).

cnf(f_657_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3486),U_3485)),U_3484)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3486),U_3483)),U_3482))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3481)))
    | ~ 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)))),U_3485),U_3484)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3483),U_3482))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3481))) ),
    inference(clausify,[status(thm)],[f_657_2]) ).

fof(f_658_1,plain,
    ! [C_1,Eb,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_510_red__reds_OCastThrow]) ).

fof(f_658_2,plain,
    ! [U_3490,U_3489,U_3488,U_3487] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3490),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3489))),U_3488)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3489)),U_3488))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3487))),
    inference(variable_rename,[status(thm)],[f_658_1]) ).

cnf(f_658_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3490),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3489))),U_3488)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3489)),U_3488))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3487))),
    inference(clausify,[status(thm)],[f_658_2]) ).

fof(f_659_1,plain,
    ! [C_1,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),E_b)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_511_CastReds]) ).

fof(f_659_2,plain,
    ! [U_3496,U_3495,U_3494,U_3493,U_3492,U_3491] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3496),U_3495)),U_3494)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3496),U_3493)),U_3492))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3491))))
      | ~ 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)))),U_3495),U_3494)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3493),U_3492))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3491)))) ),
    inference(variable_rename,[status(thm)],[f_659_1]) ).

cnf(f_659_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3496),U_3495)),U_3494)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3496),U_3493)),U_3492))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3491))))
    | ~ 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)))),U_3495),U_3494)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_3493),U_3492))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3491)))) ),
    inference(clausify,[status(thm)],[f_659_2]) ).

fof(f_660_1,plain,
    ! [X_a,Pa,C_1,D_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),hAPP(list(char),ty,class,C_1)),hAPP(list(char),ty,class,D_2)))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) )
      & ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
        | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),hAPP(list(char),ty,class,C_1)),hAPP(list(char),ty,class,D_2))) ) ),
    inference(fof_nnf,[status(thm)],[fact_512_Class__widen__Class]) ).

fof(f_660_2,plain,
    ! [U_3500,U_3499,U_3498,U_3497] :
      ( ( 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,U_3500)))))))),fun(ty,fun(ty,bool)),widen(U_3500),U_3499),hAPP(list(char),ty,class,U_3498)),hAPP(list(char),ty,class,U_3497)))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3498),U_3497)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3500)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3500),U_3499)))) )
      & ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3498),U_3497)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3500)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3500),U_3499))))
        | ~ 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,U_3500)))))))),fun(ty,fun(ty,bool)),widen(U_3500),U_3499),hAPP(list(char),ty,class,U_3498)),hAPP(list(char),ty,class,U_3497))) ) ),
    inference(variable_rename,[status(thm)],[f_660_1]) ).

fof(f_660_3,plain,
    ( ! [U_3508,U_3506,U_3504,U_3502] :
        ( 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,U_3508)))))))),fun(ty,fun(ty,bool)),widen(U_3508),U_3506),hAPP(list(char),ty,class,U_3504)),hAPP(list(char),ty,class,U_3502)))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3504),U_3502)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3508)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3508),U_3506)))) )
    & ! [U_3507,U_3505,U_3503,U_3501] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3503),U_3501)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3507)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3507),U_3505))))
        | ~ 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,U_3507)))))))),fun(ty,fun(ty,bool)),widen(U_3507),U_3505),hAPP(list(char),ty,class,U_3503)),hAPP(list(char),ty,class,U_3501))) ) ),
    inference(miniscope,[status(thm)],[f_660_2]) ).

cnf(f_660_4,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3503),U_3501)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3507)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3507),U_3505))))
    | ~ 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,U_3507)))))))),fun(ty,fun(ty,bool)),widen(U_3507),U_3505),hAPP(list(char),ty,class,U_3503)),hAPP(list(char),ty,class,U_3501))) ),
    inference(clausify,[status(thm)],[f_660_3]) ).

cnf(f_660_5,plain,
    ( 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,U_3508)))))))),fun(ty,fun(ty,bool)),widen(U_3508),U_3506),hAPP(list(char),ty,class,U_3504)),hAPP(list(char),ty,class,U_3502)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3504),U_3502)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3508)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3508),U_3506)))) ),
    inference(clausify,[status(thm)],[f_660_3]) ).

fof(f_661_1,plain,
    ! [X_a,C_1,D_2,Pa] :
      ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),hAPP(list(char),ty,class,C_1)),hAPP(list(char),ty,class,D_2)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_513_widen__subcls]) ).

fof(f_661_2,plain,
    ! [U_3512,U_3511,U_3510,U_3509] :
      ( 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,U_3512)))))))),fun(ty,fun(ty,bool)),widen(U_3512),U_3509),hAPP(list(char),ty,class,U_3511)),hAPP(list(char),ty,class,U_3510)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3511),U_3510)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3512)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3512),U_3509)))) ),
    inference(variable_rename,[status(thm)],[f_661_1]) ).

cnf(f_661_3,plain,
    ( 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,U_3512)))))))),fun(ty,fun(ty,bool)),widen(U_3512),U_3509),hAPP(list(char),ty,class,U_3511)),hAPP(list(char),ty,class,U_3510)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3511),U_3510)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3512)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3512),U_3509)))) ),
    inference(clausify,[status(thm)],[f_661_2]) ).

fof(f_662_1,plain,
    ! [E_2,T_2_2,F_1,Ta,D_2,Pa,Hb,Ea,E_1_1,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_2),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_1,Pa),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_514_WTrtFAss]) ).

fof(f_662_2,plain,
    ! [U_3522,U_3521,U_3520,U_3519,U_3518,U_3517,U_3516,U_3515,U_3514,U_3513] :
      ( 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_1,U_3517),U_3516),U_3515),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3514),U_3520),U_3518),U_3522)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3517),U_3521),U_3519))
      | ~ 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_1,U_3517),U_3516),U_3515),U_3522),U_3521))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3517),U_3513),U_3520),U_3519),U_3518))
      | ~ 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_1,U_3517),U_3516),U_3515),U_3514),hAPP(list(char),ty,class,U_3513))) ),
    inference(variable_rename,[status(thm)],[f_662_1]) ).

cnf(f_662_3,plain,
    ( 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_1,U_3517),U_3516),U_3515),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3514),U_3520),U_3518),U_3522)),void))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3517),U_3521),U_3519))
    | ~ 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_1,U_3517),U_3516),U_3515),U_3522),U_3521))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3517),U_3513),U_3520),U_3519),U_3518))
    | ~ 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_1,U_3517),U_3516),U_3515),U_3514),hAPP(list(char),ty,class,U_3513))) ),
    inference(clausify,[status(thm)],[f_662_2]) ).

fof(f_663_1,plain,
    ! [C_1,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_515_CastRedsThrow]) ).

fof(f_663_2,plain,
    ! [U_3528,U_3527,U_3526,U_3525,U_3524,U_3523] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3528),U_3527)),U_3526)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3525)),U_3524))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3523))))
      | ~ 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)))),U_3527),U_3526)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3525)),U_3524))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3523)))) ),
    inference(variable_rename,[status(thm)],[f_663_1]) ).

cnf(f_663_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3528),U_3527)),U_3526)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3525)),U_3524))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3523))))
    | ~ 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)))),U_3527),U_3526)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3525)),U_3524))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3523)))) ),
    inference(clausify,[status(thm)],[f_663_2]) ).

fof(f_664_1,plain,
    ! [H_b,Hb] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,H_b))
      | ~ 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,Hb),H_b))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_516_preallocated__hext]) ).

fof(f_664_2,plain,
    ! [U_3530,U_3529] :
      ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3530))
      | ~ 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,U_3529),U_3530))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3529)) ),
    inference(variable_rename,[status(thm)],[f_664_1]) ).

cnf(f_664_3,plain,
    ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3530))
    | ~ 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,U_3529),U_3530))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3529)) ),
    inference(clausify,[status(thm)],[f_664_2]) ).

fof(f_665_1,plain,
    ! [C_1,D_2,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))) ),
    inference(fof_nnf,[status(thm)],[fact_517_Cast]) ).

fof(f_665_2,plain,
    ! [U_3539,U_3538,U_3537,U_3536,U_3535,U_3534,U_3533,U_3532,U_3531] :
      ( 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,U_3536),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3539),U_3535)),U_3534),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3533))),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))),U_3532),U_3531)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3538),U_3539)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3536))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3532,U_3533) != 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))),U_3538),U_3537))
      | ~ 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,U_3536),U_3535),U_3534),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3533))),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))),U_3532),U_3531))) ),
    inference(variable_rename,[status(thm)],[f_665_1]) ).

cnf(f_665_3,plain,
    ( 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,U_3536),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3539),U_3535)),U_3534),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3533))),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))),U_3532),U_3531)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3538),U_3539)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3536))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3532,U_3533) != 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))),U_3538),U_3537))
    | ~ 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,U_3536),U_3535),U_3534),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3533))),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))),U_3532),U_3531))) ),
    inference(clausify,[status(thm)],[f_665_2]) ).

fof(f_666_1,plain,
    ! [C_1,Pa,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_518_red__reds_ORedCast]) ).

fof(f_666_2,plain,
    ! [U_3545,U_3544,U_3543,U_3542,U_3541,U_3540] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3545),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542)))),U_3543)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542))),U_3543))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3544)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3541),U_3545)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3544))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3543),U_3542) != 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))),U_3541),U_3540)) ),
    inference(variable_rename,[status(thm)],[f_666_1]) ).

fof(f_666_3,plain,
    ! [U_3545,U_3544,U_3543,U_3542,U_3541] :
      ( ! [U_3540] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3543),U_3542) != 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))),U_3541),U_3540))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3545),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542)))),U_3543)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542))),U_3543))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3544)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3541),U_3545)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3544)))) ),
    inference(miniscope,[status(thm)],[f_666_2]) ).

cnf(f_666_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3543),U_3542) != 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))),U_3541),U_3540))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3545),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542)))),U_3543)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3542))),U_3543))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3544)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3541),U_3545)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3544)))) ),
    inference(clausify,[status(thm)],[f_666_3]) ).

fof(f_667_1,plain,
    ! [Pa,Hb,Ea,E_1_1,C_1,Va_1,E_2,Ta] :
      ( ? [T_1_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_2),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_1,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),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_1,Pa),Hb),Ea),E_1_1),T_1_2)) )
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_519_WTrt__elim__cases_I5_J]) ).

fof(f_667_2,plain,
    ! [U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547] :
      ( ? [U_3546] :
          ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3554),U_3546),U_3547))
          & 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_1,U_3554),U_3553),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3552),U_3549),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3550)))),U_3548),U_3547))
          & 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_1,U_3554),U_3553),U_3552),U_3551),U_3546)) )
      | ~ 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_1,U_3554),U_3553),U_3552),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)),U_3551),U_3550),U_3549),U_3548)),U_3547)) ),
    inference(variable_rename,[status(thm)],[f_667_1]) ).

fof(f_667_3,plain,
    ! [U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3554),sK140(U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547)),U_3547))
        & 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_1,U_3554),U_3553),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3552),U_3549),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3550)))),U_3548),U_3547))
        & 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_1,U_3554),U_3553),U_3552),U_3551),sK140(U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547))) )
      | ~ 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_1,U_3554),U_3553),U_3552),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)),U_3551),U_3550),U_3549),U_3548)),U_3547)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK140]),skolemize(U_3546,sK140(U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547))],[f_667_2]) ).

cnf(f_667_4,plain,
    ( 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_1,U_3554),U_3553),U_3552),U_3551),sK140(U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547)))
    | ~ 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_1,U_3554),U_3553),U_3552),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)),U_3551),U_3550),U_3549),U_3548)),U_3547)) ),
    inference(clausify,[status(thm)],[f_667_3]) ).

cnf(f_667_5,plain,
    ( 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_1,U_3554),U_3553),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3552),U_3549),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3550)))),U_3548),U_3547))
    | ~ 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_1,U_3554),U_3553),U_3552),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)),U_3551),U_3550),U_3549),U_3548)),U_3547)) ),
    inference(clausify,[status(thm)],[f_667_3]) ).

cnf(f_667_6,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3554),sK140(U_3554,U_3553,U_3552,U_3551,U_3550,U_3549,U_3548,U_3547)),U_3547))
    | ~ 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_1,U_3554),U_3553),U_3552),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)),U_3551),U_3550),U_3549),U_3548)),U_3547)) ),
    inference(clausify,[status(thm)],[f_667_3]) ).

fof(f_668_1,plain,
    ! [Pa,Hb,Ea,Eb,C_1] :
      ( ? [A_3] : Eb = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))
      | ? [A_3] : Eb = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
      | ~ 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_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_520_final__addrE]) ).

fof(f_668_2,plain,
    ! [U_3561,U_3560,U_3559,U_3558,U_3557] :
      ( ? [U_3556] : U_3558 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3556)))
      | ? [U_3555] : U_3558 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3555))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3558))
      | ~ 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_1,U_3561),U_3560),U_3559),U_3558),hAPP(list(char),ty,class,U_3557))) ),
    inference(variable_rename,[status(thm)],[f_668_1]) ).

fof(f_668_3,plain,
    ! [U_3561,U_3560,U_3559,U_3558] :
      ( ! [U_3557] : ~ 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_1,U_3561),U_3560),U_3559),U_3558),hAPP(list(char),ty,class,U_3557)))
      | ? [U_3556] : U_3558 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3556)))
      | ? [U_3555] : U_3558 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3555))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3558)) ),
    inference(miniscope,[status(thm)],[f_668_2]) ).

fof(f_668_4,plain,
    ! [U_3561,U_3560,U_3559,U_3558] :
      ( ! [U_3557] : ~ 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_1,U_3561),U_3560),U_3559),U_3558),hAPP(list(char),ty,class,U_3557)))
      | ? [U_3556] : U_3558 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3556)))
      | U_3558 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK141(U_3561,U_3560,U_3559,U_3558)))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK141]),skolemize(U_3555,sK141(U_3561,U_3560,U_3559,U_3558))],[f_668_3]) ).

fof(f_668_5,plain,
    ! [U_3561,U_3560,U_3559,U_3558] :
      ( ! [U_3557] : ~ 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_1,U_3561),U_3560),U_3559),U_3558),hAPP(list(char),ty,class,U_3557)))
      | U_3558 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK142(U_3561,U_3560,U_3559,U_3558))))
      | U_3558 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK141(U_3561,U_3560,U_3559,U_3558)))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK142]),skolemize(U_3556,sK142(U_3561,U_3560,U_3559,U_3558))],[f_668_4]) ).

cnf(f_668_6,plain,
    ( ~ 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_1,U_3561),U_3560),U_3559),U_3558),hAPP(list(char),ty,class,U_3557)))
    | U_3558 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK142(U_3561,U_3560,U_3559,U_3558))))
    | U_3558 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK141(U_3561,U_3560,U_3559,U_3558)))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3558)) ),
    inference(clausify,[status(thm)],[f_668_5]) ).

fof(f_669_1,plain,
    ! [Bop_2,Va,E_2,V_2_1,S_2_1,E_1_1,S_0,V_1_2,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) != hAPP(val,option(val),some(val),Va)
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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_2_1)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_521_BinOpRedsVal]) ).

fof(f_669_2,plain,
    ! [U_3571,U_3570,U_3569,U_3568,U_3567,U_3566,U_3565,U_3564,U_3563,U_3562] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3566),U_3571),U_3569)),U_3565)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3570)),U_3567))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562))))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3571),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3564),U_3568))) != hAPP(val,option(val),some(val),U_3570)
      | ~ 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)))),U_3569),U_3563)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3568)),U_3567))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562))))
      | ~ 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)))),U_3566),U_3565)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3564)),U_3563))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562)))) ),
    inference(variable_rename,[status(thm)],[f_669_1]) ).

cnf(f_669_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3566),U_3571),U_3569)),U_3565)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3570)),U_3567))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562))))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3571),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3564),U_3568))) != hAPP(val,option(val),some(val),U_3570)
    | ~ 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)))),U_3569),U_3563)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3568)),U_3567))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562))))
    | ~ 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)))),U_3566),U_3565)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3564)),U_3563))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3562)))) ),
    inference(clausify,[status(thm)],[f_669_2]) ).

fof(f_670_1,plain,
    ! [C_1,D_2,Fs,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S_3),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))),D_2),Fs))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_522_CastRedsFail]) ).

fof(f_670_2,plain,
    ! [U_3579,U_3578,U_3577,U_3576,U_3575,U_3574,U_3573,U_3572] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3579),U_3576)),U_3575)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3573))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3572))))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3578),U_3579)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3572))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3573),U_3574) != 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))),U_3578),U_3577))
      | ~ 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)))),U_3576),U_3575)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3574))),U_3573))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3572)))) ),
    inference(variable_rename,[status(thm)],[f_670_1]) ).

cnf(f_670_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3579),U_3576)),U_3575)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3573))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3572))))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3578),U_3579)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3572))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3573),U_3574) != 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))),U_3578),U_3577))
    | ~ 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)))),U_3576),U_3575)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3574))),U_3573))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3572)))) ),
    inference(clausify,[status(thm)],[f_670_2]) ).

fof(f_671_1,plain,
    ! [Bop_2,Va,E_2,V_2_1,S_2_1,Pa,E_1_1,S_0,V_1_2,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) != hAPP(val,option(val),some(val),Va)
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_523_BinOp]) ).

fof(f_671_2,plain,
    ! [U_3589,U_3588,U_3587,U_3586,U_3585,U_3584,U_3583,U_3582,U_3581,U_3580] :
      ( 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,U_3584),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3583),U_3589),U_3587)),U_3582),hAPP(val,exp(list(char)),val_1(list(char)),U_3588)),U_3585))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3589),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3581),U_3586))) != hAPP(val,option(val),some(val),U_3588)
      | ~ 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,U_3584),U_3587),U_3580),hAPP(val,exp(list(char)),val_1(list(char)),U_3586)),U_3585))
      | ~ 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,U_3584),U_3583),U_3582),hAPP(val,exp(list(char)),val_1(list(char)),U_3581)),U_3580)) ),
    inference(variable_rename,[status(thm)],[f_671_1]) ).

cnf(f_671_3,plain,
    ( 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,U_3584),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3583),U_3589),U_3587)),U_3582),hAPP(val,exp(list(char)),val_1(list(char)),U_3588)),U_3585))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3589),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3581),U_3586))) != hAPP(val,option(val),some(val),U_3588)
    | ~ 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,U_3584),U_3587),U_3580),hAPP(val,exp(list(char)),val_1(list(char)),U_3586)),U_3585))
    | ~ 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,U_3584),U_3583),U_3582),hAPP(val,exp(list(char)),val_1(list(char)),U_3581)),U_3580)) ),
    inference(clausify,[status(thm)],[f_671_2]) ).

fof(f_672_1,plain,
    ! [Pa,S,Bop_2,V_1_2,V_2_1,Va] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) != hAPP(val,option(val),some(val),Va) ),
    inference(fof_nnf,[status(thm)],[fact_524_redp__redsp_ORedBinOp]) ).

fof(f_672_2,plain,
    ! [U_3595,U_3594,U_3593,U_3592,U_3591,U_3590] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3595),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3592)),U_3593),hAPP(val,exp(list(char)),val_1(list(char)),U_3591))),U_3594),hAPP(val,exp(list(char)),val_1(list(char)),U_3590)),U_3594))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3593),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3592),U_3591))) != hAPP(val,option(val),some(val),U_3590) ),
    inference(variable_rename,[status(thm)],[f_672_1]) ).

cnf(f_672_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3595),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3592)),U_3593),hAPP(val,exp(list(char)),val_1(list(char)),U_3591))),U_3594),hAPP(val,exp(list(char)),val_1(list(char)),U_3590)),U_3594))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3593),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3592),U_3591))) != hAPP(val,option(val),some(val),U_3590) ),
    inference(clausify,[status(thm)],[f_672_2]) ).

fof(f_673_1,plain,
    ! [C_1,D_2,Fs,Pa,Eb,S_0,A_1,Hb,Lb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,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))),D_2),Fs))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))) ),
    inference(fof_nnf,[status(thm)],[fact_525_CastFail]) ).

fof(f_673_2,plain,
    ! [U_3604,U_3603,U_3602,U_3601,U_3600,U_3599,U_3598,U_3597,U_3596] :
      ( 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,U_3601),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3604),U_3600)),U_3599),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_3597),U_3596)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3603),U_3604)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3601))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3597,U_3598) != 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))),U_3603),U_3602))
      | ~ 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,U_3601),U_3600),U_3599),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3598))),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))),U_3597),U_3596))) ),
    inference(variable_rename,[status(thm)],[f_673_1]) ).

cnf(f_673_3,plain,
    ( 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,U_3601),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3604),U_3600)),U_3599),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),U_3597),U_3596)))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3603),U_3604)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3601))))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3597,U_3598) != 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))),U_3603),U_3602))
    | ~ 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,U_3601),U_3600),U_3599),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3598))),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))),U_3597),U_3596))) ),
    inference(clausify,[status(thm)],[f_673_2]) ).

fof(f_674_1,plain,
    ! [C_1,Pa,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),Pa))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_526_red__reds_ORedCastFail]) ).

fof(f_674_2,plain,
    ! [U_3610,U_3609,U_3608,U_3607,U_3606,U_3605] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3610),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3607)))),U_3608)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3608))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3609)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3606),U_3610)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3609))))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3608),U_3607) != 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))),U_3606),U_3605)) ),
    inference(variable_rename,[status(thm)],[f_674_1]) ).

fof(f_674_3,plain,
    ! [U_3610,U_3609,U_3608,U_3607,U_3606] :
      ( ! [U_3605] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3608),U_3607) != 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))),U_3606),U_3605))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3610),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3607)))),U_3608)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3608))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3609)))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3606),U_3610)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3609)))) ),
    inference(miniscope,[status(thm)],[f_674_2]) ).

cnf(f_674_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3608),U_3607) != 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))),U_3606),U_3605))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3610),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3607)))),U_3608)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3608))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3609)))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3606),U_3610)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),list(char)),bool),subcls1(product_prod(list(list(char)),exp(list(char)))),U_3609)))) ),
    inference(clausify,[status(thm)],[f_674_3]) ).

fof(f_675_1,plain,
    ! [S,Pa,Bop_2,V_1_2,V_2_1,Va] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),Bop_2),hAPP(val,exp(list(char)),val_1(list(char)),V_2_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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)))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) != hAPP(val,option(val),some(val),Va) ),
    inference(fof_nnf,[status(thm)],[fact_527_red__reds_ORedBinOp]) ).

fof(f_675_2,plain,
    ! [U_3616,U_3615,U_3614,U_3613,U_3612,U_3611] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3613)),U_3614),hAPP(val,exp(list(char)),val_1(list(char)),U_3612))),U_3616)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3611)),U_3616))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3615)))
      | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3614),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3613),U_3612))) != hAPP(val,option(val),some(val),U_3611) ),
    inference(variable_rename,[status(thm)],[f_675_1]) ).

cnf(f_675_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_3613)),U_3614),hAPP(val,exp(list(char)),val_1(list(char)),U_3612))),U_3616)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3611)),U_3616))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3615)))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3614),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3613),U_3612))) != hAPP(val,option(val),some(val),U_3611) ),
    inference(clausify,[status(thm)],[f_675_2]) ).

fof(f_676_1,plain,
    ! [Pa,E_1_1,Bop_2,E_2,S,E_b,S_3] :
      ( ? [V_1_1,S_1_1,E_4] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4) )
      | ? [E_4] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_4) )
      | ? [V_1_1,S_1_1,V_2_3,V] :
          ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),Bop_2),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_1),V_2_3))) = hAPP(val,option(val),some(val),V)
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_2_3)),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_1_1))
          & E_b = hAPP(val,exp(list(char)),val_1(list(char)),V) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),E_1_1),Bop_2),E_2)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_528_eval__cases_I3_J]) ).

fof(f_676_2,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ? [U_3621] :
          ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621)),U_3625))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621) )
      | ? [U_3620,U_3619,U_3618,U_3617] :
          ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3620),U_3618))) = hAPP(val,option(val),some(val),U_3617)
          & 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,U_3631),U_3628),U_3619),hAPP(val,exp(list(char)),val_1(list(char)),U_3618)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3620)),U_3619))
          & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),U_3617) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(variable_rename,[status(thm)],[f_676_1]) ).

fof(f_676_3,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ? [U_3621] :
          ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621)),U_3625))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621) )
      | ? [U_3619,U_3618,U_3617] :
          ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),U_3618))) = hAPP(val,option(val),some(val),U_3617)
          & 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,U_3631),U_3628),U_3619),hAPP(val,exp(list(char)),val_1(list(char)),U_3618)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3619))
          & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),U_3617) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK143]),skolemize(U_3620,sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_2]) ).

fof(f_676_4,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ? [U_3621] :
          ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621)),U_3625))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621) )
      | ? [U_3618,U_3617] :
          ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),U_3618))) = hAPP(val,option(val),some(val),U_3617)
          & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),U_3618)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
          & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),U_3617) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK144]),skolemize(U_3619,sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_3]) ).

fof(f_676_5,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ? [U_3621] :
          ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621)),U_3625))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621) )
      | ? [U_3617] :
          ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),U_3617)
          & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
          & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),U_3617) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK145]),skolemize(U_3618,sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_4]) ).

fof(f_676_6,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ? [U_3621] :
          ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621)),U_3625))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3621) )
      | ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
        & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK146]),skolemize(U_3617,sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_5]) ).

fof(f_676_7,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3624,U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),U_3624)),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
        & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK147]),skolemize(U_3621,sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_6]) ).

fof(f_676_8,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3623,U_3622] :
          ( 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,U_3631),U_3628),U_3623),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3623))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
        & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK148]),skolemize(U_3624,sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_7]) ).

fof(f_676_9,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ? [U_3622] :
          ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622)),U_3625))
          & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
          & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3622) )
      | ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
        & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK149]),skolemize(U_3623,sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_8]) ).

fof(f_676_10,plain,
    ! [U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625] :
      ( ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ( 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ( hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
        & 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
        & 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
        & U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)) )
      | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK150]),skolemize(U_3622,sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))],[f_676_9]) ).

cnf(f_676_11,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_12,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_13,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_14,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_15,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_16,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(val,exp(list(char)),val_1(list(char)),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_17,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_18,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_19,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_20,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_21,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_22,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_23,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_24,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_25,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_26,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_27,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_28,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3628),sK144(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(val,exp(list(char)),val_1(list(char)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_29,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_30,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_31,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_32,plain,
    ( U_3626 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_33,plain,
    ( 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,U_3631),U_3630),U_3627),hAPP(val,exp(list(char)),val_1(list(char)),sK148(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

cnf(f_676_34,plain,
    ( 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,U_3631),U_3628),sK149(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK150(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | 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,U_3631),U_3630),U_3627),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK147(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))),U_3625))
    | hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),U_3629),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),sK143(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)),sK145(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625)))) = hAPP(val,option(val),some(val),sK146(U_3631,U_3630,U_3629,U_3628,U_3627,U_3626,U_3625))
    | ~ 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,U_3631),hAPP(exp(list(char)),exp(list(char)),hAPP(bop,fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(bop,fun(exp(list(char)),exp(list(char)))),binOp(list(char)),U_3630),U_3629),U_3628)),U_3627),U_3626),U_3625)) ),
    inference(clausify,[status(thm)],[f_676_10]) ).

fof(f_677_1,plain,
    ! [V_1_3] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),unit))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_529_binop_Osimps_I7_J]) ).

fof(f_677_2,plain,
    ! [U_3632] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3632),unit))) = none(val),
    inference(variable_rename,[status(thm)],[f_677_1]) ).

cnf(f_677_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3632),unit))) = none(val),
    inference(clausify,[status(thm)],[f_677_2]) ).

fof(f_678_1,plain,
    ! [V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),unit),V_2_2))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_530_binop_Osimps_I3_J]) ).

fof(f_678_2,plain,
    ! [U_3633] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),unit),U_3633))) = none(val),
    inference(variable_rename,[status(thm)],[f_678_1]) ).

cnf(f_678_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),unit),U_3633))) = none(val),
    inference(clausify,[status(thm)],[f_678_2]) ).

fof(f_679_1,plain,
    ! [Hb] :
      ( 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,classCast))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_531_typeof__ClassCast]) ).

fof(f_679_2,plain,
    ! [U_3634] :
      ( 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,U_3634),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,classCast))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3634)) ),
    inference(variable_rename,[status(thm)],[f_679_1]) ).

cnf(f_679_3,plain,
    ( 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,U_3634),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,classCast))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3634)) ),
    inference(clausify,[status(thm)],[f_679_2]) ).

fof(f_680_1,plain,
    ! [Pa,Ea,Hb,Va,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_1,Pa),Hb),Ea),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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,Hb),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_532_WTrtVal]) ).

fof(f_680_2,plain,
    ! [U_3639,U_3638,U_3637,U_3636,U_3635] :
      ( 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_1,U_3639),U_3637),U_3638),hAPP(val,exp(list(char)),val_1(list(char)),U_3636)),U_3635))
      | 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,U_3637),U_3636) != hAPP(ty,option(ty),some(ty),U_3635) ),
    inference(variable_rename,[status(thm)],[f_680_1]) ).

cnf(f_680_3,plain,
    ( 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_1,U_3639),U_3637),U_3638),hAPP(val,exp(list(char)),val_1(list(char)),U_3636)),U_3635))
    | 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,U_3637),U_3636) != hAPP(ty,option(ty),some(ty),U_3635) ),
    inference(clausify,[status(thm)],[f_680_2]) ).

fof(f_681_1,plain,
    ! [X_a,Pa,Hb,Va,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),Hb),Va),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,Hb),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_533_typeof__conf]) ).

fof(f_681_2,plain,
    ! [U_3644,U_3643,U_3642,U_3641,U_3640] :
      ( 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,U_3644)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3644),U_3643),U_3642),U_3641),U_3640))
      | 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,U_3642),U_3641) != hAPP(ty,option(ty),some(ty),U_3640) ),
    inference(variable_rename,[status(thm)],[f_681_1]) ).

cnf(f_681_3,plain,
    ( 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,U_3644)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3644),U_3643),U_3642),U_3641),U_3640))
    | 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,U_3642),U_3641) != hAPP(ty,option(ty),some(ty),U_3640) ),
    inference(clausify,[status(thm)],[f_681_2]) ).

fof(f_682_1,plain,
    ! [Va,Ta,Hb,H_b] :
      ( 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_b),Va) = 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,Hb),Va) != hAPP(ty,option(ty),some(ty),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,Hb),H_b)) ),
    inference(fof_nnf,[status(thm)],[fact_534_hext__typeof__mono]) ).

fof(f_682_2,plain,
    ! [U_3648,U_3647,U_3646,U_3645] :
      ( 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,U_3645),U_3648) = hAPP(ty,option(ty),some(ty),U_3647)
      | 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,U_3646),U_3648) != hAPP(ty,option(ty),some(ty),U_3647)
      | ~ 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,U_3646),U_3645)) ),
    inference(variable_rename,[status(thm)],[f_682_1]) ).

cnf(f_682_3,plain,
    ( 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,U_3645),U_3648) = hAPP(ty,option(ty),some(ty),U_3647)
    | 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,U_3646),U_3648) != hAPP(ty,option(ty),some(ty),U_3647)
    | ~ 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,U_3646),U_3645)) ),
    inference(clausify,[status(thm)],[f_682_2]) ).

fof(f_683_1,plain,
    ! [Hb,Va,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,Hb),Va) = 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_535_typeof__lit__typeof]) ).

fof(f_683_2,plain,
    ! [U_3651,U_3650,U_3649] :
      ( 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,U_3651),U_3650) = hAPP(ty,option(ty),some(ty),U_3649)
      | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_3650) != hAPP(ty,option(ty),some(ty),U_3649) ),
    inference(variable_rename,[status(thm)],[f_683_1]) ).

cnf(f_683_3,plain,
    ( 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,U_3651),U_3650) = hAPP(ty,option(ty),some(ty),U_3649)
    | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_3650) != hAPP(ty,option(ty),some(ty),U_3649) ),
    inference(clausify,[status(thm)],[f_683_2]) ).

fof(f_684_1,plain,
    ! [X_a,Pa,Hb,Va,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),Hb),Va),Ta))
        | ! [T_9] :
            ( ~ 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_9),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,Hb),Va) != hAPP(ty,option(ty),some(ty),T_9) ) )
      & ( ? [T_9] :
            ( 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_9),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,Hb),Va) = hAPP(ty,option(ty),some(ty),T_9) )
        | ~ 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),Hb),Va),Ta)) ) ),
    inference(fof_nnf,[status(thm)],[fact_536_conf__def]) ).

fof(f_684_2,plain,
    ! [U_3658,U_3657,U_3656,U_3655,U_3654] :
      ( ( 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,U_3658)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3658),U_3657),U_3656),U_3655),U_3654))
        | ! [U_3653] :
            ( ~ 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,U_3658)))))))),fun(ty,fun(ty,bool)),widen(U_3658),U_3657),U_3653),U_3654))
            | 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,U_3656),U_3655) != hAPP(ty,option(ty),some(ty),U_3653) ) )
      & ( ? [U_3652] :
            ( 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,U_3658)))))))),fun(ty,fun(ty,bool)),widen(U_3658),U_3657),U_3652),U_3654))
            & 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,U_3656),U_3655) = hAPP(ty,option(ty),some(ty),U_3652) )
        | ~ 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,U_3658)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3658),U_3657),U_3656),U_3655),U_3654)) ) ),
    inference(variable_rename,[status(thm)],[f_684_1]) ).

fof(f_684_3,plain,
    ( ! [U_3668,U_3666,U_3664,U_3662,U_3660] :
        ( 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,U_3668)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3668),U_3666),U_3664),U_3662),U_3660))
        | ! [U_3653] :
            ( ~ 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,U_3668)))))))),fun(ty,fun(ty,bool)),widen(U_3668),U_3666),U_3653),U_3660))
            | 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,U_3664),U_3662) != hAPP(ty,option(ty),some(ty),U_3653) ) )
    & ! [U_3667,U_3665,U_3663,U_3661,U_3659] :
        ( ? [U_3652] :
            ( 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,U_3667)))))))),fun(ty,fun(ty,bool)),widen(U_3667),U_3665),U_3652),U_3659))
            & 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,U_3663),U_3661) = hAPP(ty,option(ty),some(ty),U_3652) )
        | ~ 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,U_3667)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3667),U_3665),U_3663),U_3661),U_3659)) ) ),
    inference(miniscope,[status(thm)],[f_684_2]) ).

fof(f_684_4,plain,
    ( ! [U_3668,U_3666,U_3664,U_3662,U_3660] :
        ( 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,U_3668)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3668),U_3666),U_3664),U_3662),U_3660))
        | ! [U_3653] :
            ( ~ 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,U_3668)))))))),fun(ty,fun(ty,bool)),widen(U_3668),U_3666),U_3653),U_3660))
            | 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,U_3664),U_3662) != hAPP(ty,option(ty),some(ty),U_3653) ) )
    & ! [U_3667,U_3665,U_3663,U_3661,U_3659] :
        ( ( 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,U_3667)))))))),fun(ty,fun(ty,bool)),widen(U_3667),U_3665),sK151(U_3667,U_3665,U_3663,U_3661,U_3659)),U_3659))
          & 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,U_3663),U_3661) = hAPP(ty,option(ty),some(ty),sK151(U_3667,U_3665,U_3663,U_3661,U_3659)) )
        | ~ 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,U_3667)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3667),U_3665),U_3663),U_3661),U_3659)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK151]),skolemize(U_3652,sK151(U_3667,U_3665,U_3663,U_3661,U_3659))],[f_684_3]) ).

cnf(f_684_5,plain,
    ( 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,U_3663),U_3661) = hAPP(ty,option(ty),some(ty),sK151(U_3667,U_3665,U_3663,U_3661,U_3659))
    | ~ 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,U_3667)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3667),U_3665),U_3663),U_3661),U_3659)) ),
    inference(clausify,[status(thm)],[f_684_4]) ).

cnf(f_684_6,plain,
    ( 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,U_3667)))))))),fun(ty,fun(ty,bool)),widen(U_3667),U_3665),sK151(U_3667,U_3665,U_3663,U_3661,U_3659)),U_3659))
    | ~ 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,U_3667)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3667),U_3665),U_3663),U_3661),U_3659)) ),
    inference(clausify,[status(thm)],[f_684_4]) ).

cnf(f_684_7,plain,
    ( 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,U_3668)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3668),U_3666),U_3664),U_3662),U_3660))
    | ~ 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,U_3668)))))))),fun(ty,fun(ty,bool)),widen(U_3668),U_3666),U_3653),U_3660))
    | 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,U_3664),U_3662) != hAPP(ty,option(ty),some(ty),U_3653) ),
    inference(clausify,[status(thm)],[f_684_4]) ).

fof(f_685_1,plain,
    ! [Hb] : 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,Hb),unit) = hAPP(ty,option(ty),some(ty),void),
    inference(fof_nnf,[status(thm)],[fact_537_typeof__h_Osimps_I1_J]) ).

fof(f_685_2,plain,
    ! [U_3669] : 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,U_3669),unit) = hAPP(ty,option(ty),some(ty),void),
    inference(variable_rename,[status(thm)],[f_685_1]) ).

cnf(f_685_3,plain,
    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,U_3669),unit) = hAPP(ty,option(ty),some(ty),void),
    inference(clausify,[status(thm)],[f_685_2]) ).

fof(f_686_1,plain,
    ! [X_a,Pa,Hb,Va,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),Hb),Va),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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_538_typeof__lit__conf]) ).

fof(f_686_2,plain,
    ! [U_3674,U_3673,U_3672,U_3671,U_3670] :
      ( 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,U_3674)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3674),U_3673),U_3672),U_3671),U_3670))
      | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_3671) != hAPP(ty,option(ty),some(ty),U_3670) ),
    inference(variable_rename,[status(thm)],[f_686_1]) ).

cnf(f_686_3,plain,
    ( 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,U_3674)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3674),U_3673),U_3672),U_3671),U_3670))
    | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_3671) != hAPP(ty,option(ty),some(ty),U_3670) ),
    inference(clausify,[status(thm)],[f_686_2]) ).

fof(f_687_1,plain,
    ! [V_1,V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(nat,val,addr,V_1)),V_2_2))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_539_binop_Osimps_I6_J]) ).

fof(f_687_2,plain,
    ! [U_3676,U_3675] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(nat,val,addr,U_3676)),U_3675))) = none(val),
    inference(variable_rename,[status(thm)],[f_687_1]) ).

cnf(f_687_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(nat,val,addr,U_3676)),U_3675))) = none(val),
    inference(clausify,[status(thm)],[f_687_2]) ).

fof(f_688_1,plain,
    ! [V_1_3,V_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),hAPP(nat,val,addr,V_1)))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_540_binop_Osimps_I10_J]) ).

fof(f_688_2,plain,
    ! [U_3678,U_3677] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3678),hAPP(nat,val,addr,U_3677)))) = none(val),
    inference(variable_rename,[status(thm)],[f_688_1]) ).

cnf(f_688_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3678),hAPP(nat,val,addr,U_3677)))) = none(val),
    inference(clausify,[status(thm)],[f_688_2]) ).

fof(f_689_1,plain,
    ! [Hb] :
      ( 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,outOfMemory))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_541_typeof__OutOfMemory]) ).

fof(f_689_2,plain,
    ! [U_3679] :
      ( 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,U_3679),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,outOfMemory))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3679)) ),
    inference(variable_rename,[status(thm)],[f_689_1]) ).

cnf(f_689_3,plain,
    ( 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,U_3679),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,outOfMemory))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3679)) ),
    inference(clausify,[status(thm)],[f_689_2]) ).

fof(f_690_1,plain,
    ! [Hb] :
      ( 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,Hb),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,nullPointer))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_542_typeof__NullPointer]) ).

fof(f_690_2,plain,
    ! [U_3680] :
      ( 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,U_3680),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,nullPointer))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3680)) ),
    inference(variable_rename,[status(thm)],[f_690_1]) ).

cnf(f_690_3,plain,
    ( 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,U_3680),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))) = hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,nullPointer))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_3680)) ),
    inference(clausify,[status(thm)],[f_690_2]) ).

fof(f_691_1,plain,
    ! [Hb,A_1] : hAPP(val,option(ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,option(ty)),typeof_h,Hb),hAPP(nat,val,addr,A_1)) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty),hAPP(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty)),hAPP(option(ty),fun(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty))),option_case(option(ty),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),none(ty)),hAPP(fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),product_prod_case(list(char),fun(product_prod(list(char),list(char)),option(val)),option(ty)),hAPP(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),hAPP(fun(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)))),combb(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)),list(char)),combk(option(ty),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(list(char),ty),fun(list(char),option(ty)),hAPP(fun(ty,option(ty)),fun(fun(list(char),ty),fun(list(char),option(ty))),combb(ty,option(ty),list(char)),some(ty)),class)))),hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1)),
    inference(fof_nnf,[status(thm)],[fact_543_typeof__h_Osimps_I5_J]) ).

fof(f_691_2,plain,
    ! [U_3682,U_3681] : 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,U_3682),hAPP(nat,val,addr,U_3681)) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty),hAPP(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty)),hAPP(option(ty),fun(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty))),option_case(option(ty),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),none(ty)),hAPP(fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),product_prod_case(list(char),fun(product_prod(list(char),list(char)),option(val)),option(ty)),hAPP(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),hAPP(fun(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)))),combb(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)),list(char)),combk(option(ty),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(list(char),ty),fun(list(char),option(ty)),hAPP(fun(ty,option(ty)),fun(fun(list(char),ty),fun(list(char),option(ty))),combb(ty,option(ty),list(char)),some(ty)),class)))),hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3682,U_3681)),
    inference(variable_rename,[status(thm)],[f_691_1]) ).

cnf(f_691_3,plain,
    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,U_3682),hAPP(nat,val,addr,U_3681)) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty),hAPP(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty)),hAPP(option(ty),fun(fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),option(ty))),option_case(option(ty),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),none(ty)),hAPP(fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(ty)),product_prod_case(list(char),fun(product_prod(list(char),list(char)),option(val)),option(ty)),hAPP(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),hAPP(fun(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty))),fun(fun(list(char),option(ty)),fun(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)))),combb(option(ty),fun(fun(product_prod(list(char),list(char)),option(val)),option(ty)),list(char)),combk(option(ty),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(list(char),ty),fun(list(char),option(ty)),hAPP(fun(ty,option(ty)),fun(fun(list(char),ty),fun(list(char),option(ty))),combb(ty,option(ty),list(char)),some(ty)),class)))),hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3682,U_3681)),
    inference(clausify,[status(thm)],[f_691_2]) ).

fof(f_692_1,plain,
    ! [Ea,Va_1,E_2,T_2_2,Pa,Ta,Hb,Va,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),Va))),E_2))),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),E_2),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),Ta))
      | 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,Hb),Va) != hAPP(ty,option(ty),some(ty),T_1_1) ),
    inference(fof_nnf,[status(thm)],[fact_544_WTrt_H__WTrts_H_Ointros_I16_J]) ).

fof(f_692_2,plain,
    ! [U_3691,U_3690,U_3689,U_3688,U_3687,U_3686,U_3685,U_3684,U_3683] :
      ( 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,U_3687),U_3685),U_3691),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3690),U_3686),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3690),hAPP(val,exp(list(char)),val_1(list(char)),U_3684))),U_3689))),U_3688))
      | ~ 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,U_3687),U_3685),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3691),U_3690),hAPP(ty,option(ty),some(ty),U_3686))),U_3689),U_3688))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3687),U_3683),U_3686))
      | 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,U_3685),U_3684) != hAPP(ty,option(ty),some(ty),U_3683) ),
    inference(variable_rename,[status(thm)],[f_692_1]) ).

cnf(f_692_3,plain,
    ( 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,U_3687),U_3685),U_3691),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3690),U_3686),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3690),hAPP(val,exp(list(char)),val_1(list(char)),U_3684))),U_3689))),U_3688))
    | ~ 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,U_3687),U_3685),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3691),U_3690),hAPP(ty,option(ty),some(ty),U_3686))),U_3689),U_3688))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3687),U_3683),U_3686))
    | 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,U_3685),U_3684) != hAPP(ty,option(ty),some(ty),U_3683) ),
    inference(clausify,[status(thm)],[f_692_2]) ).

fof(f_693_1,plain,
    ! [Pa,Ea,Hb,Va,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),Hb),Ea),hAPP(val,exp(list(char)),val_1(list(char)),Va)),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,Hb),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_545_WTrt_H__WTrts_H_Ointros_I3_J]) ).

fof(f_693_2,plain,
    ! [U_3696,U_3695,U_3694,U_3693,U_3692] :
      ( 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,U_3696),U_3694),U_3695),hAPP(val,exp(list(char)),val_1(list(char)),U_3693)),U_3692))
      | 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,U_3694),U_3693) != hAPP(ty,option(ty),some(ty),U_3692) ),
    inference(variable_rename,[status(thm)],[f_693_1]) ).

cnf(f_693_3,plain,
    ( 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,U_3696),U_3694),U_3695),hAPP(val,exp(list(char)),val_1(list(char)),U_3693)),U_3692))
    | 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,U_3694),U_3693) != hAPP(ty,option(ty),some(ty),U_3692) ),
    inference(clausify,[status(thm)],[f_693_2]) ).

fof(f_694_1,plain,
    ! [E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),E_1_1),E_2)),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),T_1_1)) ),
    inference(fof_nnf,[status(thm)],[fact_546_WTrt_H__WTrts_H_Ointros_I18_J]) ).

fof(f_694_2,plain,
    ! [U_3703,U_3702,U_3701,U_3700,U_3699,U_3698,U_3697] :
      ( 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,U_3701),U_3700),U_3699),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_3698),U_3703)),U_3702))
      | ~ 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,U_3701),U_3700),U_3699),U_3703),U_3702))
      | ~ 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,U_3701),U_3700),U_3699),U_3698),U_3697)) ),
    inference(variable_rename,[status(thm)],[f_694_1]) ).

fof(f_694_3,plain,
    ! [U_3703,U_3702,U_3701,U_3700,U_3699,U_3698] :
      ( ! [U_3697] : ~ 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,U_3701),U_3700),U_3699),U_3698),U_3697))
      | 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,U_3701),U_3700),U_3699),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_3698),U_3703)),U_3702))
      | ~ 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,U_3701),U_3700),U_3699),U_3703),U_3702)) ),
    inference(miniscope,[status(thm)],[f_694_2]) ).

cnf(f_694_4,plain,
    ( ~ 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,U_3701),U_3700),U_3699),U_3698),U_3697))
    | 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,U_3701),U_3700),U_3699),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_3698),U_3703)),U_3702))
    | ~ 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,U_3701),U_3700),U_3699),U_3703),U_3702)) ),
    inference(clausify,[status(thm)],[f_694_3]) ).

fof(f_695_1,plain,
    ! [Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),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_1,Pa),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_547_wt__wt_H]) ).

fof(f_695_2,plain,
    ! [U_3708,U_3707,U_3706,U_3705,U_3704] :
      ( 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,U_3708),U_3707),U_3706),U_3705),U_3704))
      | ~ 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_1,U_3708),U_3707),U_3706),U_3705),U_3704)) ),
    inference(variable_rename,[status(thm)],[f_695_1]) ).

cnf(f_695_3,plain,
    ( 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,U_3708),U_3707),U_3706),U_3705),U_3704))
    | ~ 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_1,U_3708),U_3707),U_3706),U_3705),U_3704)) ),
    inference(clausify,[status(thm)],[f_695_2]) ).

fof(f_696_1,plain,
    ! [Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),Eb),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),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_548_wt_H__wt]) ).

fof(f_696_2,plain,
    ! [U_3713,U_3712,U_3711,U_3710,U_3709] :
      ( 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_1,U_3713),U_3712),U_3711),U_3710),U_3709))
      | ~ 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,U_3713),U_3712),U_3711),U_3710),U_3709)) ),
    inference(variable_rename,[status(thm)],[f_696_1]) ).

cnf(f_696_3,plain,
    ( 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_1,U_3713),U_3712),U_3711),U_3710),U_3709))
    | ~ 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,U_3713),U_3712),U_3711),U_3710),U_3709)) ),
    inference(clausify,[status(thm)],[f_696_2]) ).

fof(f_697_1,plain,
    ! [Pa,Hb,Ea,Eb,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),Hb),Ea),Eb),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_1,Pa),Hb),Ea),Eb),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_1,Pa),Hb),Ea),Eb),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),Hb),Ea),Eb),Ta)) ) ),
    inference(fof_nnf,[status(thm)],[fact_549_wt_H__iff__wt]) ).

fof(f_697_2,plain,
    ! [U_3718,U_3717,U_3716,U_3715,U_3714] :
      ( ( 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,U_3718),U_3717),U_3716),U_3715),U_3714))
        | ~ 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_1,U_3718),U_3717),U_3716),U_3715),U_3714)) )
      & ( 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_1,U_3718),U_3717),U_3716),U_3715),U_3714))
        | ~ 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,U_3718),U_3717),U_3716),U_3715),U_3714)) ) ),
    inference(variable_rename,[status(thm)],[f_697_1]) ).

fof(f_697_3,plain,
    ( ! [U_3728,U_3726,U_3724,U_3722,U_3720] :
        ( 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,U_3728),U_3726),U_3724),U_3722),U_3720))
        | ~ 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_1,U_3728),U_3726),U_3724),U_3722),U_3720)) )
    & ! [U_3727,U_3725,U_3723,U_3721,U_3719] :
        ( 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_1,U_3727),U_3725),U_3723),U_3721),U_3719))
        | ~ 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,U_3727),U_3725),U_3723),U_3721),U_3719)) ) ),
    inference(miniscope,[status(thm)],[f_697_2]) ).

cnf(f_697_4,plain,
    ( 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_1,U_3727),U_3725),U_3723),U_3721),U_3719))
    | ~ 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,U_3727),U_3725),U_3723),U_3721),U_3719)) ),
    inference(clausify,[status(thm)],[f_697_3]) ).

cnf(f_697_5,plain,
    ( 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,U_3728),U_3726),U_3724),U_3722),U_3720))
    | ~ 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_1,U_3728),U_3726),U_3724),U_3722),U_3720)) ),
    inference(clausify,[status(thm)],[f_697_3]) ).

fof(f_698_1,plain,
    ! [Ta,Pa,Hb,Ea,Eb,T_r] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Ta))
      | ~ hBOOL(hAPP(ty,bool,is_refT,T_r))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),T_r)) ),
    inference(fof_nnf,[status(thm)],[fact_550_WTrt_H__WTrts_H_Ointros_I21_J]) ).

fof(f_698_2,plain,
    ! [U_3734,U_3733,U_3732,U_3731,U_3730,U_3729] :
      ( 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,U_3733),U_3732),U_3731),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3730)),U_3734))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3729))
      | ~ 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,U_3733),U_3732),U_3731),U_3730),U_3729)) ),
    inference(variable_rename,[status(thm)],[f_698_1]) ).

cnf(f_698_3,plain,
    ( 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,U_3733),U_3732),U_3731),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3730)),U_3734))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_3729))
    | ~ 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,U_3733),U_3732),U_3731),U_3730),U_3729)) ),
    inference(clausify,[status(thm)],[f_698_2]) ).

fof(f_699_1,plain,
    ! [X_b,X_a,F1_1,F2_1,A_1] : hAPP(option(X_b),X_a,hAPP(fun(X_b,X_a),fun(option(X_b),X_a),hAPP(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a)),option_case(X_a,X_b),F1_1),F2_1),hAPP(X_b,option(X_b),some(X_b),A_1)) = hAPP(X_b,X_a,F2_1,A_1),
    inference(fof_nnf,[status(thm)],[fact_551_option_Osimps_I5_J]) ).

fof(f_699_2,plain,
    ! [U_3739,U_3738,U_3737,U_3736,U_3735] : hAPP(option(U_3739),U_3738,hAPP(fun(U_3739,U_3738),fun(option(U_3739),U_3738),hAPP(U_3738,fun(fun(U_3739,U_3738),fun(option(U_3739),U_3738)),option_case(U_3738,U_3739),U_3737),U_3736),hAPP(U_3739,option(U_3739),some(U_3739),U_3735)) = hAPP(U_3739,U_3738,U_3736,U_3735),
    inference(variable_rename,[status(thm)],[f_699_1]) ).

cnf(f_699_3,plain,
    hAPP(option(U_3739),U_3738,hAPP(fun(U_3739,U_3738),fun(option(U_3739),U_3738),hAPP(U_3738,fun(fun(U_3739,U_3738),fun(option(U_3739),U_3738)),option_case(U_3738,U_3739),U_3737),U_3736),hAPP(U_3739,option(U_3739),some(U_3739),U_3735)) = hAPP(U_3739,U_3738,U_3736,U_3735),
    inference(clausify,[status(thm)],[f_699_2]) ).

fof(f_700_1,plain,
    ! [X_b,X_a,F1_1,F2_1] : hAPP(option(X_b),X_a,hAPP(fun(X_b,X_a),fun(option(X_b),X_a),hAPP(X_a,fun(fun(X_b,X_a),fun(option(X_b),X_a)),option_case(X_a,X_b),F1_1),F2_1),none(X_b)) = ti(X_a,F1_1),
    inference(fof_nnf,[status(thm)],[fact_552_option_Osimps_I4_J]) ).

fof(f_700_2,plain,
    ! [U_3743,U_3742,U_3741,U_3740] : hAPP(option(U_3743),U_3742,hAPP(fun(U_3743,U_3742),fun(option(U_3743),U_3742),hAPP(U_3742,fun(fun(U_3743,U_3742),fun(option(U_3743),U_3742)),option_case(U_3742,U_3743),U_3741),U_3740),none(U_3743)) = ti(U_3742,U_3741),
    inference(variable_rename,[status(thm)],[f_700_1]) ).

cnf(f_700_3,plain,
    hAPP(option(U_3743),U_3742,hAPP(fun(U_3743,U_3742),fun(option(U_3743),U_3742),hAPP(U_3742,fun(fun(U_3743,U_3742),fun(option(U_3743),U_3742)),option_case(U_3742,U_3743),U_3741),U_3740),none(U_3743)) = ti(U_3742,U_3741),
    inference(clausify,[status(thm)],[f_700_2]) ).

fof(f_701_1,plain,
    ! [F_1,Ta,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_553_WTrt_H__WTrts_H_Ointros_I8_J]) ).

fof(f_701_2,plain,
    ! [U_3751,U_3750,U_3749,U_3748,U_3747,U_3746,U_3745,U_3744] :
      ( 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,U_3748),U_3747),U_3746),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3745),U_3751),U_3749)),U_3750))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3748),U_3744),U_3751),U_3750),U_3749))
      | ~ 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,U_3748),U_3747),U_3746),U_3745),hAPP(list(char),ty,class,U_3744))) ),
    inference(variable_rename,[status(thm)],[f_701_1]) ).

cnf(f_701_3,plain,
    ( 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,U_3748),U_3747),U_3746),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3745),U_3751),U_3749)),U_3750))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3748),U_3744),U_3751),U_3750),U_3749))
    | ~ 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,U_3748),U_3747),U_3746),U_3745),hAPP(list(char),ty,class,U_3744))) ),
    inference(clausify,[status(thm)],[f_701_2]) ).

fof(f_702_1,plain,
    ! [Pa,Hb,Ea,Va_1,Ta,Eb,T_a] :
      ( 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),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),Ta),Eb)),T_a))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,Va_1),Eb))
      | ~ 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),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),Ta))),Eb),T_a)) ),
    inference(fof_nnf,[status(thm)],[fact_554_WTrt_H__WTrts_H_Ointros_I17_J]) ).

fof(f_702_2,plain,
    ! [U_3758,U_3757,U_3756,U_3755,U_3754,U_3753,U_3752] :
      ( 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,U_3758),U_3757),U_3756),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3755),U_3754),U_3753)),U_3752))
      | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_3755),U_3753))
      | ~ 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,U_3758),U_3757),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3756),U_3755),hAPP(ty,option(ty),some(ty),U_3754))),U_3753),U_3752)) ),
    inference(variable_rename,[status(thm)],[f_702_1]) ).

cnf(f_702_3,plain,
    ( 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,U_3758),U_3757),U_3756),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3755),U_3754),U_3753)),U_3752))
    | hBOOL(hAPP(exp(list(char)),bool,hAPP(list(char),fun(exp(list(char)),bool),assigned,U_3755),U_3753))
    | ~ 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,U_3758),U_3757),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3756),U_3755),hAPP(ty,option(ty),some(ty),U_3754))),U_3753),U_3752)) ),
    inference(clausify,[status(thm)],[f_702_2]) ).

fof(f_703_1,plain,
    ! [X_a,X_b,M1,M2,X_2] : hAPP(X_a,option(X_b),hAPP(fun(X_a,option(X_b)),fun(X_a,option(X_b)),hAPP(fun(X_a,option(X_b)),fun(fun(X_a,option(X_b)),fun(X_a,option(X_b))),map_add(X_a,X_b),M1),M2),X_2) = hAPP(option(X_b),option(X_b),hAPP(fun(X_b,option(X_b)),fun(option(X_b),option(X_b)),hAPP(option(X_b),fun(fun(X_b,option(X_b)),fun(option(X_b),option(X_b))),option_case(option(X_b),X_b),hAPP(X_a,option(X_b),M1,X_2)),some(X_b)),hAPP(X_a,option(X_b),M2,X_2)),
    inference(fof_nnf,[status(thm)],[fact_555_map__add__def]) ).

fof(f_703_2,plain,
    ! [U_3763,U_3762,U_3761,U_3760,U_3759] : hAPP(U_3763,option(U_3762),hAPP(fun(U_3763,option(U_3762)),fun(U_3763,option(U_3762)),hAPP(fun(U_3763,option(U_3762)),fun(fun(U_3763,option(U_3762)),fun(U_3763,option(U_3762))),map_add(U_3763,U_3762),U_3761),U_3760),U_3759) = hAPP(option(U_3762),option(U_3762),hAPP(fun(U_3762,option(U_3762)),fun(option(U_3762),option(U_3762)),hAPP(option(U_3762),fun(fun(U_3762,option(U_3762)),fun(option(U_3762),option(U_3762))),option_case(option(U_3762),U_3762),hAPP(U_3763,option(U_3762),U_3761,U_3759)),some(U_3762)),hAPP(U_3763,option(U_3762),U_3760,U_3759)),
    inference(variable_rename,[status(thm)],[f_703_1]) ).

cnf(f_703_3,plain,
    hAPP(U_3763,option(U_3762),hAPP(fun(U_3763,option(U_3762)),fun(U_3763,option(U_3762)),hAPP(fun(U_3763,option(U_3762)),fun(fun(U_3763,option(U_3762)),fun(U_3763,option(U_3762))),map_add(U_3763,U_3762),U_3761),U_3760),U_3759) = hAPP(option(U_3762),option(U_3762),hAPP(fun(U_3762,option(U_3762)),fun(option(U_3762),option(U_3762)),hAPP(option(U_3762),fun(fun(U_3762,option(U_3762)),fun(option(U_3762),option(U_3762))),option_case(option(U_3762),U_3762),hAPP(U_3763,option(U_3762),U_3761,U_3759)),some(U_3762)),hAPP(U_3763,option(U_3762),U_3760,U_3759)),
    inference(clausify,[status(thm)],[f_703_2]) ).

fof(f_704_1,plain,
    ! [Va_1,C_1,E_2,T_2_2,Pa,Hb,Ea,E_1_1,T_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),E_1_1),C_1),Va_1),E_2)),T_2_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_1_1),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),Ea),Va_1),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,C_1)))),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),T_1_1)) ),
    inference(fof_nnf,[status(thm)],[fact_556_WTrt_H__WTrts_H_Ointros_I22_J]) ).

fof(f_704_2,plain,
    ! [U_3772,U_3771,U_3770,U_3769,U_3768,U_3767,U_3766,U_3765,U_3764] :
      ( 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,U_3768),U_3767),U_3766),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)),U_3765),U_3771),U_3772),U_3770)),U_3769))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3768),U_3764),U_3769))
      | ~ 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,U_3768),U_3767),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3766),U_3772),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3771)))),U_3770),U_3769))
      | ~ 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,U_3768),U_3767),U_3766),U_3765),U_3764)) ),
    inference(variable_rename,[status(thm)],[f_704_1]) ).

cnf(f_704_3,plain,
    ( 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,U_3768),U_3767),U_3766),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)),U_3765),U_3771),U_3772),U_3770)),U_3769))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3768),U_3764),U_3769))
    | ~ 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,U_3768),U_3767),hAPP(option(ty),fun(list(char),option(ty)),hAPP(list(char),fun(option(ty),fun(list(char),option(ty))),hAPP(fun(list(char),option(ty)),fun(list(char),fun(option(ty),fun(list(char),option(ty)))),fun_upd(list(char),option(ty)),U_3766),U_3772),hAPP(ty,option(ty),some(ty),hAPP(list(char),ty,class,U_3771)))),U_3770),U_3769))
    | ~ 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,U_3768),U_3767),U_3766),U_3765),U_3764)) ),
    inference(clausify,[status(thm)],[f_704_2]) ).

fof(f_705_1,plain,
    ! [E_2,T_2_2,F_1,Ta,D_2,Pa,Hb,Ea,E_1_1,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_2),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),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),F_1),Ta),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_557_WTrt_H__WTrts_H_Ointros_I10_J]) ).

fof(f_705_2,plain,
    ! [U_3782,U_3781,U_3780,U_3779,U_3778,U_3777,U_3776,U_3775,U_3774,U_3773] :
      ( 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,U_3777),U_3776),U_3775),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3774),U_3780),U_3778),U_3782)),void))
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3777),U_3781),U_3779))
      | ~ 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,U_3777),U_3776),U_3775),U_3782),U_3781))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3777),U_3773),U_3780),U_3779),U_3778))
      | ~ 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,U_3777),U_3776),U_3775),U_3774),hAPP(list(char),ty,class,U_3773))) ),
    inference(variable_rename,[status(thm)],[f_705_1]) ).

cnf(f_705_3,plain,
    ( 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,U_3777),U_3776),U_3775),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3774),U_3780),U_3778),U_3782)),void))
    | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_3777),U_3781),U_3779))
    | ~ 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,U_3777),U_3776),U_3775),U_3782),U_3781))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_3777),U_3773),U_3780),U_3779),U_3778))
    | ~ 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,U_3777),U_3776),U_3775),U_3774),hAPP(list(char),ty,class,U_3773))) ),
    inference(clausify,[status(thm)],[f_705_2]) ).

fof(f_706_1,plain,
    ! [X_a,G_1] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(X_a),G_1) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),nullPointer)))),hAPP(list(char),nat,addr_of_sys_xcpt,classCast)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),classCast)))),hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),G_1),outOfMemory))),
    inference(fof_nnf,[status(thm)],[fact_558_start__heap__def]) ).

fof(f_706_2,plain,
    ! [U_3784,U_3783] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3784)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(U_3784),U_3783) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),nullPointer)))),hAPP(list(char),nat,addr_of_sys_xcpt,classCast)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),classCast)))),hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),outOfMemory))),
    inference(variable_rename,[status(thm)],[f_706_1]) ).

cnf(f_706_3,plain,
    hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3784)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(U_3784),U_3783) = hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),nullPointer)))),hAPP(list(char),nat,addr_of_sys_xcpt,classCast)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),classCast)))),hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory)),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(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_3784)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_3784),U_3783),outOfMemory))),
    inference(clausify,[status(thm)],[f_706_2]) ).

fof(f_707_1,plain,
    ! [F_1,D_2,Eb,S,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_559_FAccRedsNull]) ).

fof(f_707_2,plain,
    ! [U_3790,U_3789,U_3788,U_3787,U_3786,U_3785] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3788),U_3790),U_3789)),U_3787)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3786))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3785))))
      | ~ 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)))),U_3788),U_3787)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3786))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3785)))) ),
    inference(variable_rename,[status(thm)],[f_707_1]) ).

cnf(f_707_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3788),U_3790),U_3789)),U_3787)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3786))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3785))))
    | ~ 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)))),U_3788),U_3787)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3786))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3785)))) ),
    inference(clausify,[status(thm)],[f_707_2]) ).

fof(f_708_1,plain,
    ! [F_1,D_2,E_2,Va,S_2_1,E_1_1,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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)),Va)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_560_FAssRedsNull]) ).

fof(f_708_2,plain,
    ! [U_3799,U_3798,U_3797,U_3796,U_3795,U_3794,U_3793,U_3792,U_3791] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3794),U_3799),U_3798),U_3797)),U_3793)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3795))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791))))
      | ~ 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)))),U_3797),U_3792)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3796)),U_3795))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791))))
      | ~ 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)))),U_3794),U_3793)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3792))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791)))) ),
    inference(variable_rename,[status(thm)],[f_708_1]) ).

cnf(f_708_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3794),U_3799),U_3798),U_3797)),U_3793)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3795))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791))))
    | ~ 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)))),U_3797),U_3792)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_3796)),U_3795))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791))))
    | ~ 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)))),U_3794),U_3793)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3792))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3791)))) ),
    inference(clausify,[status(thm)],[f_708_2]) ).

fof(f_709_1,plain,
    ! [F_1,D_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_561_red__reds_ORedFAccNull]) ).

fof(f_709_2,plain,
    ! [U_3803,U_3802,U_3801,U_3800] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3803),U_3802)),U_3801)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3801))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3800))),
    inference(variable_rename,[status(thm)],[f_709_1]) ).

cnf(f_709_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3803),U_3802)),U_3801)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3801))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3800))),
    inference(clausify,[status(thm)],[f_709_2]) ).

fof(f_710_1,plain,
    null != unit,
    inference(fof_nnf,[status(thm)],[fact_562_val_Osimps_I5_J]) ).

cnf(f_710_2,plain,
    null != unit,
    inference(clausify,[status(thm)],[f_710_1]) ).

fof(f_711_1,plain,
    unit != null,
    inference(fof_nnf,[status(thm)],[fact_563_val_Osimps_I4_J]) ).

cnf(f_711_2,plain,
    unit != null,
    inference(clausify,[status(thm)],[f_711_1]) ).

fof(f_712_1,plain,
    ! [Nat_1] : null != hAPP(nat,val,addr,Nat_1),
    inference(fof_nnf,[status(thm)],[fact_564_val_Osimps_I16_J]) ).

fof(f_712_2,plain,
    ! [U_3804] : null != hAPP(nat,val,addr,U_3804),
    inference(variable_rename,[status(thm)],[f_712_1]) ).

cnf(f_712_3,plain,
    null != hAPP(nat,val,addr,U_3804),
    inference(clausify,[status(thm)],[f_712_2]) ).

fof(f_713_1,plain,
    ! [Nat_1] : hAPP(nat,val,addr,Nat_1) != null,
    inference(fof_nnf,[status(thm)],[fact_565_val_Osimps_I17_J]) ).

fof(f_713_2,plain,
    ! [U_3805] : hAPP(nat,val,addr,U_3805) != null,
    inference(variable_rename,[status(thm)],[f_713_1]) ).

cnf(f_713_3,plain,
    hAPP(nat,val,addr,U_3805) != null,
    inference(clausify,[status(thm)],[f_713_2]) ).

fof(f_714_1,plain,
    ! [C_1,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_566_CastNull]) ).

fof(f_714_2,plain,
    ! [U_3810,U_3809,U_3808,U_3807,U_3806] :
      ( 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,U_3809),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3810),U_3808)),U_3807),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3806))
      | ~ 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,U_3809),U_3808),U_3807),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3806)) ),
    inference(variable_rename,[status(thm)],[f_714_1]) ).

cnf(f_714_3,plain,
    ( 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,U_3809),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3810),U_3808)),U_3807),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3806))
    | ~ 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,U_3809),U_3808),U_3807),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3806)) ),
    inference(clausify,[status(thm)],[f_714_2]) ).

fof(f_715_1,plain,
    ! [Pa,C_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S)),
    inference(fof_nnf,[status(thm)],[fact_567_redp__redsp_ORedCastNull]) ).

fof(f_715_2,plain,
    ! [U_3813,U_3812,U_3811] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3813),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3812),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3811),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3811)),
    inference(variable_rename,[status(thm)],[f_715_1]) ).

cnf(f_715_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3813),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3812),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3811),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3811)),
    inference(clausify,[status(thm)],[f_715_2]) ).

fof(f_716_1,plain,
    ! [X_a,Pa] : hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(list(product_prod(list(char),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(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(X_a),Pa))),
    inference(fof_nnf,[status(thm)],[fact_568_preallocated__start]) ).

fof(f_716_2,plain,
    ! [U_3815,U_3814] : hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3815)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(U_3815),U_3814))),
    inference(variable_rename,[status(thm)],[f_716_1]) ).

cnf(f_716_3,plain,
    hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3815)))))))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),start_heap(U_3815),U_3814))),
    inference(clausify,[status(thm)],[f_716_2]) ).

fof(f_717_1,plain,
    ! [C_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_569_red__reds_ORedCastNull]) ).

fof(f_717_2,plain,
    ! [U_3818,U_3817,U_3816] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3818),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3817)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3817))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3816))),
    inference(variable_rename,[status(thm)],[f_717_1]) ).

cnf(f_717_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3818),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3817)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3817))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3816))),
    inference(clausify,[status(thm)],[f_717_2]) ).

fof(f_718_1,plain,
    ! [C_1,Eb,S,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_570_CastRedsNull]) ).

fof(f_718_2,plain,
    ! [U_3823,U_3822,U_3821,U_3820,U_3819] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3823),U_3822)),U_3821)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3820))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3819))))
      | ~ 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)))),U_3822),U_3821)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3820))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3819)))) ),
    inference(variable_rename,[status(thm)],[f_718_1]) ).

cnf(f_718_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3823),U_3822)),U_3821)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3820))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3819))))
    | ~ 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)))),U_3822),U_3821)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3820))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3819)))) ),
    inference(clausify,[status(thm)],[f_718_2]) ).

fof(f_719_1,plain,
    ! [V_1_3] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_3),null))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_571_binop_Osimps_I8_J]) ).

fof(f_719_2,plain,
    ! [U_3824] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3824),null))) = none(val),
    inference(variable_rename,[status(thm)],[f_719_1]) ).

cnf(f_719_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_3824),null))) = none(val),
    inference(clausify,[status(thm)],[f_719_2]) ).

fof(f_720_1,plain,
    ! [V_2_2] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),null),V_2_2))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_572_binop_Osimps_I4_J]) ).

fof(f_720_2,plain,
    ! [U_3825] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),null),U_3825))) = none(val),
    inference(variable_rename,[status(thm)],[f_720_1]) ).

cnf(f_720_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),null),U_3825))) = none(val),
    inference(clausify,[status(thm)],[f_720_2]) ).

fof(f_721_1,plain,
    ! [Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1))
      | ~ 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_573_ThrowNull]) ).

fof(f_721_2,plain,
    ! [U_3829,U_3828,U_3827,U_3826] :
      ( 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,U_3829),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3828)),U_3827),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3826))
      | ~ 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,U_3829),U_3828),U_3827),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3826)) ),
    inference(variable_rename,[status(thm)],[f_721_1]) ).

cnf(f_721_3,plain,
    ( 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,U_3829),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3828)),U_3827),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3826))
    | ~ 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,U_3829),U_3828),U_3827),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3826)) ),
    inference(clausify,[status(thm)],[f_721_2]) ).

fof(f_722_1,plain,
    ! [Pa,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    inference(fof_nnf,[status(thm)],[fact_574_redp__redsp_ORedThrowNull]) ).

fof(f_722_2,plain,
    ! [U_3831,U_3830] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3831),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3830),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3830)),
    inference(variable_rename,[status(thm)],[f_722_1]) ).

cnf(f_722_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3831),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3830),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3830)),
    inference(clausify,[status(thm)],[f_722_2]) ).

fof(f_723_1,plain,
    ! [F_1,D_2,E_2,Va,S_2_1,Pa,E_1_1,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_575_FAssNull]) ).

fof(f_723_2,plain,
    ! [U_3840,U_3839,U_3838,U_3837,U_3836,U_3835,U_3834,U_3833,U_3832] :
      ( 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,U_3835),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3834),U_3840),U_3839),U_3838)),U_3833),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3836))
      | ~ 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,U_3835),U_3838),U_3832),hAPP(val,exp(list(char)),val_1(list(char)),U_3837)),U_3836))
      | ~ 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,U_3835),U_3834),U_3833),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3832)) ),
    inference(variable_rename,[status(thm)],[f_723_1]) ).

cnf(f_723_3,plain,
    ( 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,U_3835),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_3834),U_3840),U_3839),U_3838)),U_3833),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3836))
    | ~ 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,U_3835),U_3838),U_3832),hAPP(val,exp(list(char)),val_1(list(char)),U_3837)),U_3836))
    | ~ 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,U_3835),U_3834),U_3833),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3832)) ),
    inference(clausify,[status(thm)],[f_723_2]) ).

fof(f_724_1,plain,
    ! [F_1,D_2,Pa,Eb,S_0,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(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_1))
      | ~ 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_576_FAccNull]) ).

fof(f_724_2,plain,
    ! [U_3846,U_3845,U_3844,U_3843,U_3842,U_3841] :
      ( 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,U_3844),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3843),U_3846),U_3845)),U_3842),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3841))
      | ~ 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,U_3844),U_3843),U_3842),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3841)) ),
    inference(variable_rename,[status(thm)],[f_724_1]) ).

cnf(f_724_3,plain,
    ( 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,U_3844),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_3843),U_3846),U_3845)),U_3842),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3841))
    | ~ 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,U_3844),U_3843),U_3842),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3841)) ),
    inference(clausify,[status(thm)],[f_724_2]) ).

fof(f_725_1,plain,
    ! [Pa,F_1,D_2,Va,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    inference(fof_nnf,[status(thm)],[fact_577_redp__redsp_ORedFAssNull]) ).

fof(f_725_2,plain,
    ! [U_3851,U_3850,U_3849,U_3848,U_3847] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3851),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3850),U_3849),hAPP(val,exp(list(char)),val_1(list(char)),U_3848))),U_3847),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3847)),
    inference(variable_rename,[status(thm)],[f_725_1]) ).

cnf(f_725_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3851),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3850),U_3849),hAPP(val,exp(list(char)),val_1(list(char)),U_3848))),U_3847),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3847)),
    inference(clausify,[status(thm)],[f_725_2]) ).

fof(f_726_1,plain,
    ! [Pa,F_1,D_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    inference(fof_nnf,[status(thm)],[fact_578_redp__redsp_ORedFAccNull]) ).

fof(f_726_2,plain,
    ! [U_3855,U_3854,U_3853,U_3852] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3855),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3854),U_3853)),U_3852),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3852)),
    inference(variable_rename,[status(thm)],[f_726_1]) ).

cnf(f_726_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3855),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3854),U_3853)),U_3852),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3852)),
    inference(clausify,[status(thm)],[f_726_2]) ).

fof(f_727_1,plain,
    ! [S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_579_red__reds_ORedThrowNull]) ).

fof(f_727_2,plain,
    ! [U_3857,U_3856] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3857)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3857))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3856))),
    inference(variable_rename,[status(thm)],[f_727_1]) ).

cnf(f_727_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null))),U_3857)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3857))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3856))),
    inference(clausify,[status(thm)],[f_727_2]) ).

fof(f_728_1,plain,
    ! [Eb,S,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_580_ThrowRedsNull]) ).

fof(f_728_2,plain,
    ! [U_3861,U_3860,U_3859,U_3858] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3861)),U_3860)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3859))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3858))))
      | ~ 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)))),U_3861),U_3860)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3859))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3858)))) ),
    inference(variable_rename,[status(thm)],[f_728_1]) ).

cnf(f_728_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3861)),U_3860)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3859))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3858))))
    | ~ 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)))),U_3861),U_3860)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3859))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_3858)))) ),
    inference(clausify,[status(thm)],[f_728_2]) ).

fof(f_729_1,plain,
    ! [F_1,D_2,Va,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),F_1),D_2),hAPP(val,exp(list(char)),val_1(list(char)),Va))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_581_red__reds_ORedFAssNull]) ).

fof(f_729_2,plain,
    ! [U_3866,U_3865,U_3864,U_3863,U_3862] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3866),U_3865),hAPP(val,exp(list(char)),val_1(list(char)),U_3864))),U_3863)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3863))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3862))),
    inference(variable_rename,[status(thm)],[f_729_1]) ).

cnf(f_729_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3866),U_3865),hAPP(val,exp(list(char)),val_1(list(char)),U_3864))),U_3863)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_3863))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_3862))),
    inference(clausify,[status(thm)],[f_729_2]) ).

fof(f_730_1,plain,
    ! [Pa,Hb,Ea,Eb,Ta] :
      ( ? [A_3] : Eb = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)))
      | ( ? [C_2] : Ta = hAPP(list(char),ty,class,C_2)
        & ? [A_3] : Eb = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3)) )
      | Eb = hAPP(val,exp(list(char)),val_1(list(char)),null)
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Eb))
      | ~ hBOOL(hAPP(ty,bool,is_refT,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_1,Pa),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_582_finalRefE]) ).

fof(f_730_2,plain,
    ! [U_3874,U_3873,U_3872,U_3871,U_3870] :
      ( ? [U_3869] : U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3869)))
      | ( ? [U_3868] : U_3870 = hAPP(list(char),ty,class,U_3868)
        & ? [U_3867] : U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3867)) )
      | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
      | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(variable_rename,[status(thm)],[f_730_1]) ).

fof(f_730_3,plain,
    ! [U_3874,U_3873,U_3872,U_3871,U_3870] :
      ( ? [U_3869] : U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3869)))
      | ( ? [U_3868] : U_3870 = hAPP(list(char),ty,class,U_3868)
        & U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK152(U_3874,U_3873,U_3872,U_3871,U_3870))) )
      | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
      | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK152]),skolemize(U_3867,sK152(U_3874,U_3873,U_3872,U_3871,U_3870))],[f_730_2]) ).

fof(f_730_4,plain,
    ! [U_3874,U_3873,U_3872,U_3871,U_3870] :
      ( ? [U_3869] : U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3869)))
      | ( U_3870 = hAPP(list(char),ty,class,sK153(U_3874,U_3873,U_3872,U_3871,U_3870))
        & U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK152(U_3874,U_3873,U_3872,U_3871,U_3870))) )
      | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
      | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK153]),skolemize(U_3868,sK153(U_3874,U_3873,U_3872,U_3871,U_3870))],[f_730_3]) ).

fof(f_730_5,plain,
    ! [U_3874,U_3873,U_3872,U_3871,U_3870] :
      ( U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK154(U_3874,U_3873,U_3872,U_3871,U_3870))))
      | ( U_3870 = hAPP(list(char),ty,class,sK153(U_3874,U_3873,U_3872,U_3871,U_3870))
        & U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK152(U_3874,U_3873,U_3872,U_3871,U_3870))) )
      | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
      | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK154]),skolemize(U_3869,sK154(U_3874,U_3873,U_3872,U_3871,U_3870))],[f_730_4]) ).

cnf(f_730_6,plain,
    ( U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK152(U_3874,U_3873,U_3872,U_3871,U_3870)))
    | U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK154(U_3874,U_3873,U_3872,U_3871,U_3870))))
    | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
    | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(clausify,[status(thm)],[f_730_5]) ).

cnf(f_730_7,plain,
    ( U_3870 = hAPP(list(char),ty,class,sK153(U_3874,U_3873,U_3872,U_3871,U_3870))
    | U_3871 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK154(U_3874,U_3873,U_3872,U_3871,U_3870))))
    | U_3871 = hAPP(val,exp(list(char)),val_1(list(char)),null)
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_3871))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_3870))
    | ~ 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_1,U_3874),U_3873),U_3872),U_3871),U_3870)) ),
    inference(clausify,[status(thm)],[f_730_5]) ).

fof(f_731_1,plain,
    ! [Pa,Eb,S,E_b,S_3] :
      ( ? [E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_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),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_3))
        & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)))) )
      | ? [A_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),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_3))) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_583_eval__cases_I12_J]) ).

fof(f_731_2,plain,
    ! [U_3881,U_3880,U_3879,U_3878,U_3877] :
      ( ? [U_3876] :
          ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3876)),U_3877))
          & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3876) )
      | ( 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)))) )
      | ? [U_3875] :
          ( 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3875))),U_3877))
          & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3875))) )
      | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(variable_rename,[status(thm)],[f_731_1]) ).

fof(f_731_3,plain,
    ! [U_3881,U_3880,U_3879,U_3878,U_3877] :
      ( ? [U_3876] :
          ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3876)),U_3877))
          & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3876) )
      | ( 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)))) )
      | ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))) )
      | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK155]),skolemize(U_3875,sK155(U_3881,U_3880,U_3879,U_3878,U_3877))],[f_731_2]) ).

fof(f_731_4,plain,
    ! [U_3881,U_3880,U_3879,U_3878,U_3877] :
      ( ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877)) )
      | ( 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer)))) )
      | ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
        & U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))) )
      | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK156]),skolemize(U_3876,sK156(U_3881,U_3880,U_3879,U_3878,U_3877))],[f_731_3]) ).

cnf(f_731_5,plain,
    ( U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877))))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_6,plain,
    ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))),U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877))))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_7,plain,
    ( U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877))))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_8,plain,
    ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))),U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877))))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_9,plain,
    ( U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_10,plain,
    ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))),U_3877))
    | U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_11,plain,
    ( U_3878 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

cnf(f_731_12,plain,
    ( 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,U_3881),U_3880),U_3879),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK156(U_3881,U_3880,U_3879,U_3878,U_3877))),U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_3877))
    | 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,U_3881),U_3880),U_3879),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,sK155(U_3881,U_3880,U_3879,U_3878,U_3877)))),U_3877))
    | ~ 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,U_3881),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_3880)),U_3879),U_3878),U_3877)) ),
    inference(clausify,[status(thm)],[f_731_4]) ).

fof(f_732_1,plain,
    ! [X_a,Pa,Hb,C_1,Va] :
      ( ? [A_3,C_5,Fs_1] :
          ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_5),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),hAPP(list(char),fun(fun(product_prod(list(char),list(char)),option(val)),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),product_Pair(list(char),fun(product_prod(list(char),list(char)),option(val))),C_5),Fs_1))
          & Va = hAPP(nat,val,addr,A_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),Hb),Va),hAPP(list(char),ty,class,C_1)))
      | Va = null ),
    inference(fof_nnf,[status(thm)],[fact_584_non__npD]) ).

fof(f_732_2,plain,
    ! [U_3889,U_3888,U_3887,U_3886,U_3885] :
      ( ? [U_3884,U_3883,U_3882] :
          ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3883),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888))))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,U_3884) = 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))),U_3883),U_3882))
          & U_3885 = hAPP(nat,val,addr,U_3884) )
      | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
      | U_3885 = null ),
    inference(variable_rename,[status(thm)],[f_732_1]) ).

fof(f_732_3,plain,
    ! [U_3889,U_3888,U_3887,U_3886,U_3885] :
      ( ? [U_3884] :
          ( ? [U_3883] :
              ( ? [U_3882] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,U_3884) = 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))),U_3883),U_3882))
              & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3883),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888)))) )
          & U_3885 = hAPP(nat,val,addr,U_3884) )
      | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
      | U_3885 = null ),
    inference(miniscope,[status(thm)],[f_732_2]) ).

fof(f_732_4,plain,
    ! [U_3889,U_3888,U_3887,U_3886,U_3885] :
      ( ( ? [U_3883] :
            ( ? [U_3882] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) = 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))),U_3883),U_3882))
            & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3883),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888)))) )
        & U_3885 = hAPP(nat,val,addr,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) )
      | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
      | U_3885 = null ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK157]),skolemize(U_3884,sK157(U_3889,U_3888,U_3887,U_3886,U_3885))],[f_732_3]) ).

fof(f_732_5,plain,
    ! [U_3889,U_3888,U_3887,U_3886,U_3885] :
      ( ( ? [U_3882] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) = 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))),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),U_3882))
        & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888))))
        & U_3885 = hAPP(nat,val,addr,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) )
      | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
      | U_3885 = null ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK158]),skolemize(U_3883,sK158(U_3889,U_3888,U_3887,U_3886,U_3885))],[f_732_4]) ).

fof(f_732_6,plain,
    ! [U_3889,U_3888,U_3887,U_3886,U_3885] :
      ( ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) = 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))),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),sK159(U_3889,U_3888,U_3887,U_3886,U_3885)))
        & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888))))
        & U_3885 = hAPP(nat,val,addr,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) )
      | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
      | U_3885 = null ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK159]),skolemize(U_3882,sK159(U_3889,U_3888,U_3887,U_3886,U_3885))],[f_732_5]) ).

cnf(f_732_7,plain,
    ( U_3885 = hAPP(nat,val,addr,sK157(U_3889,U_3888,U_3887,U_3886,U_3885))
    | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
    | U_3885 = null ),
    inference(clausify,[status(thm)],[f_732_6]) ).

cnf(f_732_8,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),U_3886)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3889)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3889),U_3888))))
    | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
    | U_3885 = null ),
    inference(clausify,[status(thm)],[f_732_6]) ).

cnf(f_732_9,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_3887,sK157(U_3889,U_3888,U_3887,U_3886,U_3885)) = 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))),sK158(U_3889,U_3888,U_3887,U_3886,U_3885)),sK159(U_3889,U_3888,U_3887,U_3886,U_3885)))
    | ~ 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,U_3889)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_3889),U_3888),U_3887),U_3885),hAPP(list(char),ty,class,U_3886)))
    | U_3885 = null ),
    inference(clausify,[status(thm)],[f_732_6]) ).

fof(f_733_1,plain,
    ! [X_a,Pa,Q_1,X_1] :
      ( ? [Y_2] :
          ( hBOOL(hAPP(X_a,bool,Q_1,Y_2))
          & ti(option(X_a),X_1) = hAPP(X_a,option(X_a),some(X_a),Y_2) )
      | ( hBOOL(Pa)
        & ti(option(X_a),X_1) = none(X_a) )
      | ~ hBOOL(hAPP(option(X_a),bool,hAPP(fun(X_a,bool),fun(option(X_a),bool),hAPP(bool,fun(fun(X_a,bool),fun(option(X_a),bool)),option_case(bool,X_a),Pa),Q_1),X_1)) ),
    inference(fof_nnf,[status(thm)],[fact_585_option__caseE]) ).

fof(f_733_2,plain,
    ! [U_3894,U_3893,U_3892,U_3891] :
      ( ? [U_3890] :
          ( hBOOL(hAPP(U_3894,bool,U_3892,U_3890))
          & ti(option(U_3894),U_3891) = hAPP(U_3894,option(U_3894),some(U_3894),U_3890) )
      | ( hBOOL(U_3893)
        & ti(option(U_3894),U_3891) = none(U_3894) )
      | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(variable_rename,[status(thm)],[f_733_1]) ).

fof(f_733_3,plain,
    ! [U_3894,U_3893,U_3892,U_3891] :
      ( ( hBOOL(hAPP(U_3894,bool,U_3892,sK160(U_3894,U_3893,U_3892,U_3891)))
        & ti(option(U_3894),U_3891) = hAPP(U_3894,option(U_3894),some(U_3894),sK160(U_3894,U_3893,U_3892,U_3891)) )
      | ( hBOOL(U_3893)
        & ti(option(U_3894),U_3891) = none(U_3894) )
      | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK160]),skolemize(U_3890,sK160(U_3894,U_3893,U_3892,U_3891))],[f_733_2]) ).

cnf(f_733_4,plain,
    ( ti(option(U_3894),U_3891) = hAPP(U_3894,option(U_3894),some(U_3894),sK160(U_3894,U_3893,U_3892,U_3891))
    | ti(option(U_3894),U_3891) = none(U_3894)
    | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(clausify,[status(thm)],[f_733_3]) ).

cnf(f_733_5,plain,
    ( hBOOL(hAPP(U_3894,bool,U_3892,sK160(U_3894,U_3893,U_3892,U_3891)))
    | ti(option(U_3894),U_3891) = none(U_3894)
    | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(clausify,[status(thm)],[f_733_3]) ).

cnf(f_733_6,plain,
    ( ti(option(U_3894),U_3891) = hAPP(U_3894,option(U_3894),some(U_3894),sK160(U_3894,U_3893,U_3892,U_3891))
    | hBOOL(U_3893)
    | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(clausify,[status(thm)],[f_733_3]) ).

cnf(f_733_7,plain,
    ( hBOOL(hAPP(U_3894,bool,U_3892,sK160(U_3894,U_3893,U_3892,U_3891)))
    | hBOOL(U_3893)
    | ~ hBOOL(hAPP(option(U_3894),bool,hAPP(fun(U_3894,bool),fun(option(U_3894),bool),hAPP(bool,fun(fun(U_3894,bool),fun(option(U_3894),bool)),option_case(bool,U_3894),U_3893),U_3892),U_3891)) ),
    inference(clausify,[status(thm)],[f_733_3]) ).

fof(f_734_1,plain,
    ! [X_a,P,C_4,T_3] :
      ( ? [D_1] : T_3 = hAPP(list(char),ty,class,D_1)
      | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),P),hAPP(list(char),ty,class,C_4)),T_3)) ),
    inference(fof_nnf,[status(thm)],[fact_586_Class__widen]) ).

fof(f_734_2,plain,
    ! [U_3899,U_3898,U_3897,U_3896] :
      ( ? [U_3895] : U_3896 = hAPP(list(char),ty,class,U_3895)
      | ~ 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,U_3899)))))))),fun(ty,fun(ty,bool)),widen(U_3899),U_3898),hAPP(list(char),ty,class,U_3897)),U_3896)) ),
    inference(variable_rename,[status(thm)],[f_734_1]) ).

fof(f_734_3,plain,
    ! [U_3899,U_3898,U_3897,U_3896] :
      ( U_3896 = hAPP(list(char),ty,class,sK161(U_3899,U_3898,U_3897,U_3896))
      | ~ 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,U_3899)))))))),fun(ty,fun(ty,bool)),widen(U_3899),U_3898),hAPP(list(char),ty,class,U_3897)),U_3896)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK161]),skolemize(U_3895,sK161(U_3899,U_3898,U_3897,U_3896))],[f_734_2]) ).

cnf(f_734_4,plain,
    ( U_3896 = hAPP(list(char),ty,class,sK161(U_3899,U_3898,U_3897,U_3896))
    | ~ 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,U_3899)))))))),fun(ty,fun(ty,bool)),widen(U_3899),U_3898),hAPP(list(char),ty,class,U_3897)),U_3896)) ),
    inference(clausify,[status(thm)],[f_734_3]) ).

fof(f_735_1,plain,
    ! [Va_1,E_2,Pa,C_1,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),Va_1),hAPP(list(char),ty,class,C_1)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),Va_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),E_2))),S))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_587_redp__redsp_ORedTryCatch]) ).

fof(f_735_2,plain,
    ! [U_3907,U_3906,U_3905,U_3904,U_3903,U_3902,U_3901,U_3900] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3905),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3904),U_3907),U_3906)),U_3903),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3907),hAPP(list(char),ty,class,U_3904)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3907),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3906))),U_3903))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3905)),U_3901),U_3904))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3903),U_3902) != 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))),U_3901),U_3900)) ),
    inference(variable_rename,[status(thm)],[f_735_1]) ).

fof(f_735_3,plain,
    ! [U_3907,U_3906,U_3905,U_3904,U_3903,U_3902,U_3901] :
      ( ! [U_3900] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3903),U_3902) != 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))),U_3901),U_3900))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3905),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3904),U_3907),U_3906)),U_3903),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3907),hAPP(list(char),ty,class,U_3904)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3907),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3906))),U_3903))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3905)),U_3901),U_3904)) ),
    inference(miniscope,[status(thm)],[f_735_2]) ).

cnf(f_735_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3903),U_3902) != 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))),U_3901),U_3900))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3905),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3904),U_3907),U_3906)),U_3903),hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_3907),hAPP(list(char),ty,class,U_3904)),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_3907),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3902)))),U_3906))),U_3903))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3905)),U_3901),U_3904)) ),
    inference(clausify,[status(thm)],[f_735_3]) ).

fof(f_736_1,plain,
    ! [X_a,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Y_1))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_588_r__into__rtranclp]) ).

fof(f_736_2,plain,
    ! [U_3911,U_3910,U_3909,U_3908] :
      ( hBOOL(hAPP(U_3911,bool,hAPP(U_3911,fun(U_3911,bool),hAPP(fun(U_3911,fun(U_3911,bool)),fun(U_3911,fun(U_3911,bool)),transitive_rtranclp(U_3911),U_3910),U_3909),U_3908))
      | ~ hBOOL(hAPP(U_3911,bool,hAPP(U_3911,fun(U_3911,bool),U_3910,U_3909),U_3908)) ),
    inference(variable_rename,[status(thm)],[f_736_1]) ).

cnf(f_736_3,plain,
    ( hBOOL(hAPP(U_3911,bool,hAPP(U_3911,fun(U_3911,bool),hAPP(fun(U_3911,fun(U_3911,bool)),fun(U_3911,fun(U_3911,bool)),transitive_rtranclp(U_3911),U_3910),U_3909),U_3908))
    | ~ hBOOL(hAPP(U_3911,bool,hAPP(U_3911,fun(U_3911,bool),U_3910,U_3909),U_3908)) ),
    inference(clausify,[status(thm)],[f_736_2]) ).

fof(f_737_1,plain,
    ! [X_a,R_2,A_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),A_1)),
    inference(fof_nnf,[status(thm)],[fact_589_rtranclp_Ortrancl__refl]) ).

fof(f_737_2,plain,
    ! [U_3914,U_3913,U_3912] : hBOOL(hAPP(U_3914,bool,hAPP(U_3914,fun(U_3914,bool),hAPP(fun(U_3914,fun(U_3914,bool)),fun(U_3914,fun(U_3914,bool)),transitive_rtranclp(U_3914),U_3913),U_3912),U_3912)),
    inference(variable_rename,[status(thm)],[f_737_1]) ).

cnf(f_737_3,plain,
    hBOOL(hAPP(U_3914,bool,hAPP(U_3914,fun(U_3914,bool),hAPP(fun(U_3914,fun(U_3914,bool)),fun(U_3914,fun(U_3914,bool)),transitive_rtranclp(U_3914),U_3913),U_3912),U_3912)),
    inference(clausify,[status(thm)],[f_737_2]) ).

fof(f_738_1,plain,
    ! [X_a,R_2,S] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S)))
      | ~ hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),R_2),S)) ),
    inference(fof_nnf,[status(thm)],[fact_590_rtranclp__mono]) ).

fof(f_738_2,plain,
    ! [U_3917,U_3916,U_3915] :
      ( hBOOL(hAPP(fun(U_3917,fun(U_3917,bool)),bool,hAPP(fun(U_3917,fun(U_3917,bool)),fun(fun(U_3917,fun(U_3917,bool)),bool),ord_less_eq(fun(U_3917,fun(U_3917,bool))),hAPP(fun(U_3917,fun(U_3917,bool)),fun(U_3917,fun(U_3917,bool)),transitive_rtranclp(U_3917),U_3916)),hAPP(fun(U_3917,fun(U_3917,bool)),fun(U_3917,fun(U_3917,bool)),transitive_rtranclp(U_3917),U_3915)))
      | ~ hBOOL(hAPP(fun(U_3917,fun(U_3917,bool)),bool,hAPP(fun(U_3917,fun(U_3917,bool)),fun(fun(U_3917,fun(U_3917,bool)),bool),ord_less_eq(fun(U_3917,fun(U_3917,bool))),U_3916),U_3915)) ),
    inference(variable_rename,[status(thm)],[f_738_1]) ).

cnf(f_738_3,plain,
    ( hBOOL(hAPP(fun(U_3917,fun(U_3917,bool)),bool,hAPP(fun(U_3917,fun(U_3917,bool)),fun(fun(U_3917,fun(U_3917,bool)),bool),ord_less_eq(fun(U_3917,fun(U_3917,bool))),hAPP(fun(U_3917,fun(U_3917,bool)),fun(U_3917,fun(U_3917,bool)),transitive_rtranclp(U_3917),U_3916)),hAPP(fun(U_3917,fun(U_3917,bool)),fun(U_3917,fun(U_3917,bool)),transitive_rtranclp(U_3917),U_3915)))
    | ~ hBOOL(hAPP(fun(U_3917,fun(U_3917,bool)),bool,hAPP(fun(U_3917,fun(U_3917,bool)),fun(fun(U_3917,fun(U_3917,bool)),bool),ord_less_eq(fun(U_3917,fun(U_3917,bool))),U_3916),U_3915)) ),
    inference(clausify,[status(thm)],[f_738_2]) ).

fof(f_739_1,plain,
    ! [X_a,R_1,S_2] :
      ( hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S_2) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1)
      | ~ hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),S_2),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1)))
      | ~ hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),R_1),S_2)) ),
    inference(fof_nnf,[status(thm)],[fact_591_rtranclp__subset]) ).

fof(f_739_2,plain,
    ! [U_3920,U_3919,U_3918] :
      ( hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3918) = hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3919)
      | ~ hBOOL(hAPP(fun(U_3920,fun(U_3920,bool)),bool,hAPP(fun(U_3920,fun(U_3920,bool)),fun(fun(U_3920,fun(U_3920,bool)),bool),ord_less_eq(fun(U_3920,fun(U_3920,bool))),U_3918),hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3919)))
      | ~ hBOOL(hAPP(fun(U_3920,fun(U_3920,bool)),bool,hAPP(fun(U_3920,fun(U_3920,bool)),fun(fun(U_3920,fun(U_3920,bool)),bool),ord_less_eq(fun(U_3920,fun(U_3920,bool))),U_3919),U_3918)) ),
    inference(variable_rename,[status(thm)],[f_739_1]) ).

cnf(f_739_3,plain,
    ( hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3918) = hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3919)
    | ~ hBOOL(hAPP(fun(U_3920,fun(U_3920,bool)),bool,hAPP(fun(U_3920,fun(U_3920,bool)),fun(fun(U_3920,fun(U_3920,bool)),bool),ord_less_eq(fun(U_3920,fun(U_3920,bool))),U_3918),hAPP(fun(U_3920,fun(U_3920,bool)),fun(U_3920,fun(U_3920,bool)),transitive_rtranclp(U_3920),U_3919)))
    | ~ hBOOL(hAPP(fun(U_3920,fun(U_3920,bool)),bool,hAPP(fun(U_3920,fun(U_3920,bool)),fun(fun(U_3920,fun(U_3920,bool)),bool),ord_less_eq(fun(U_3920,fun(U_3920,bool))),U_3919),U_3918)) ),
    inference(clausify,[status(thm)],[f_739_2]) ).

fof(f_740_1,plain,
    ! [X_a,R_1] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),R_1),fequal(X_a))) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1),
    inference(fof_nnf,[status(thm)],[fact_592_rtranclp__reflcl]) ).

fof(f_740_2,plain,
    ! [U_3922,U_3921] : hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),transitive_rtranclp(U_3922),hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),hAPP(fun(U_3922,fun(U_3922,bool)),fun(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool))),semilattice_sup_sup(fun(U_3922,fun(U_3922,bool))),U_3921),fequal(U_3922))) = hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),transitive_rtranclp(U_3922),U_3921),
    inference(variable_rename,[status(thm)],[f_740_1]) ).

cnf(f_740_3,plain,
    hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),transitive_rtranclp(U_3922),hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),hAPP(fun(U_3922,fun(U_3922,bool)),fun(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool))),semilattice_sup_sup(fun(U_3922,fun(U_3922,bool))),U_3921),fequal(U_3922))) = hAPP(fun(U_3922,fun(U_3922,bool)),fun(U_3922,fun(U_3922,bool)),transitive_rtranclp(U_3922),U_3921),
    inference(clausify,[status(thm)],[f_740_2]) ).

fof(f_741_1,plain,
    ! [X_a,R_1,S_2] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_1)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),S_2))) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool))),semilattice_sup_sup(fun(X_a,fun(X_a,bool))),R_1),S_2)),
    inference(fof_nnf,[status(thm)],[fact_593_rtranclp__sup__rtranclp]) ).

fof(f_741_2,plain,
    ! [U_3925,U_3924,U_3923] : hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool))),semilattice_sup_sup(fun(U_3925,fun(U_3925,bool))),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),U_3924)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),U_3923))) = hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool))),semilattice_sup_sup(fun(U_3925,fun(U_3925,bool))),U_3924),U_3923)),
    inference(variable_rename,[status(thm)],[f_741_1]) ).

cnf(f_741_3,plain,
    hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool))),semilattice_sup_sup(fun(U_3925,fun(U_3925,bool))),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),U_3924)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),U_3923))) = hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),transitive_rtranclp(U_3925),hAPP(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool)),hAPP(fun(U_3925,fun(U_3925,bool)),fun(fun(U_3925,fun(U_3925,bool)),fun(U_3925,fun(U_3925,bool))),semilattice_sup_sup(fun(U_3925,fun(U_3925,bool))),U_3924),U_3923)),
    inference(clausify,[status(thm)],[f_741_2]) ).

fof(f_742_1,plain,
    ! [X_a,Z_1,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Z_1))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),Y_1),Z_1))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),X_1),Y_1)) ),
    inference(fof_nnf,[status(thm)],[fact_594_rtranclp__trans]) ).

fof(f_742_2,plain,
    ! [U_3930,U_3929,U_3928,U_3927,U_3926] :
      ( hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3927),U_3929))
      | ~ hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3926),U_3929))
      | ~ hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3927),U_3926)) ),
    inference(variable_rename,[status(thm)],[f_742_1]) ).

cnf(f_742_3,plain,
    ( hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3927),U_3929))
    | ~ hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3926),U_3929))
    | ~ hBOOL(hAPP(U_3930,bool,hAPP(U_3930,fun(U_3930,bool),hAPP(fun(U_3930,fun(U_3930,bool)),fun(U_3930,fun(U_3930,bool)),transitive_rtranclp(U_3930),U_3928),U_3927),U_3926)) ),
    inference(clausify,[status(thm)],[f_742_2]) ).

fof(f_743_1,plain,
    ! [X_a,C,R_2,A_1,B] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),C))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,B),C))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_595_rtranclp_Ortrancl__into__rtrancl]) ).

fof(f_743_2,plain,
    ! [U_3935,U_3934,U_3933,U_3932,U_3931] :
      ( hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),hAPP(fun(U_3935,fun(U_3935,bool)),fun(U_3935,fun(U_3935,bool)),transitive_rtranclp(U_3935),U_3933),U_3932),U_3934))
      | ~ hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),U_3933,U_3931),U_3934))
      | ~ hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),hAPP(fun(U_3935,fun(U_3935,bool)),fun(U_3935,fun(U_3935,bool)),transitive_rtranclp(U_3935),U_3933),U_3932),U_3931)) ),
    inference(variable_rename,[status(thm)],[f_743_1]) ).

cnf(f_743_3,plain,
    ( hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),hAPP(fun(U_3935,fun(U_3935,bool)),fun(U_3935,fun(U_3935,bool)),transitive_rtranclp(U_3935),U_3933),U_3932),U_3934))
    | ~ hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),U_3933,U_3931),U_3934))
    | ~ hBOOL(hAPP(U_3935,bool,hAPP(U_3935,fun(U_3935,bool),hAPP(fun(U_3935,fun(U_3935,bool)),fun(U_3935,fun(U_3935,bool)),transitive_rtranclp(U_3935),U_3933),U_3932),U_3931)) ),
    inference(clausify,[status(thm)],[f_743_2]) ).

fof(f_744_1,plain,
    ! [X_a,C,R_2,A_1,B] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),A_1),C))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),B),C))
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,A_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_596_converse__rtranclp__into__rtranclp]) ).

fof(f_744_2,plain,
    ! [U_3940,U_3939,U_3938,U_3937,U_3936] :
      ( hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),hAPP(fun(U_3940,fun(U_3940,bool)),fun(U_3940,fun(U_3940,bool)),transitive_rtranclp(U_3940),U_3938),U_3937),U_3939))
      | ~ hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),hAPP(fun(U_3940,fun(U_3940,bool)),fun(U_3940,fun(U_3940,bool)),transitive_rtranclp(U_3940),U_3938),U_3936),U_3939))
      | ~ hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),U_3938,U_3937),U_3936)) ),
    inference(variable_rename,[status(thm)],[f_744_1]) ).

cnf(f_744_3,plain,
    ( hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),hAPP(fun(U_3940,fun(U_3940,bool)),fun(U_3940,fun(U_3940,bool)),transitive_rtranclp(U_3940),U_3938),U_3937),U_3939))
    | ~ hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),hAPP(fun(U_3940,fun(U_3940,bool)),fun(U_3940,fun(U_3940,bool)),transitive_rtranclp(U_3940),U_3938),U_3936),U_3939))
    | ~ hBOOL(hAPP(U_3940,bool,hAPP(U_3940,fun(U_3940,bool),U_3938,U_3937),U_3936)) ),
    inference(clausify,[status(thm)],[f_744_2]) ).

fof(f_745_1,plain,
    ! [X_a,R_2] : hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2)) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),R_2),
    inference(fof_nnf,[status(thm)],[fact_597_rtranclp__idemp]) ).

fof(f_745_2,plain,
    ! [U_3942,U_3941] : hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),U_3941)) = hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),U_3941),
    inference(variable_rename,[status(thm)],[f_745_1]) ).

cnf(f_745_3,plain,
    hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),U_3941)) = hAPP(fun(U_3942,fun(U_3942,bool)),fun(U_3942,fun(U_3942,bool)),transitive_rtranclp(U_3942),U_3941),
    inference(clausify,[status(thm)],[f_745_2]) ).

fof(f_746_1,plain,
    ! [X_a,R_2,X_2,Xa] :
      ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),hAPP(fun(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)))),combb(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),X_a),combc(X_a,fun(product_prod(X_a,X_a),bool),bool)),hAPP(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),hAPP(fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)))),combb(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),combb(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),X_a),member(product_prod(X_a,X_a)))),product_Pair(X_a,X_a)))),R_2)),X_2),Xa))
        | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Xa)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) )
      & ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Xa)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
        | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),transitive_rtranclp(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),hAPP(fun(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)))),combb(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),X_a),combc(X_a,fun(product_prod(X_a,X_a),bool),bool)),hAPP(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),hAPP(fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)))),combb(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),combb(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),X_a),member(product_prod(X_a,X_a)))),product_Pair(X_a,X_a)))),R_2)),X_2),Xa)) ) ),
    inference(fof_nnf,[status(thm)],[fact_598_rtranclp__rtrancl__eq]) ).

fof(f_746_2,plain,
    ! [U_3946,U_3945,U_3944,U_3943] :
      ( ( hBOOL(hAPP(U_3946,bool,hAPP(U_3946,fun(U_3946,bool),hAPP(fun(U_3946,fun(U_3946,bool)),fun(U_3946,fun(U_3946,bool)),transitive_rtranclp(U_3946),hAPP(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,fun(U_3946,bool)),hAPP(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,fun(U_3946,bool))),combc(U_3946,fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)),hAPP(fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),hAPP(fun(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),fun(fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)))),combb(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)),U_3946),combc(U_3946,fun(product_prod(U_3946,U_3946),bool),bool)),hAPP(fun(U_3946,fun(U_3946,product_prod(U_3946,U_3946))),fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),hAPP(fun(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(fun(U_3946,fun(U_3946,product_prod(U_3946,U_3946))),fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)))),combb(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),U_3946),hAPP(fun(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),combb(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool),U_3946),member(product_prod(U_3946,U_3946)))),product_Pair(U_3946,U_3946)))),U_3945)),U_3944),U_3943))
        | ~ hBOOL(hAPP(fun(product_prod(U_3946,U_3946),bool),bool,hAPP(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool),member(product_prod(U_3946,U_3946)),hAPP(U_3946,product_prod(U_3946,U_3946),hAPP(U_3946,fun(U_3946,product_prod(U_3946,U_3946)),product_Pair(U_3946,U_3946),U_3944),U_3943)),hAPP(fun(product_prod(U_3946,U_3946),bool),fun(product_prod(U_3946,U_3946),bool),transitive_rtrancl(U_3946),U_3945))) )
      & ( hBOOL(hAPP(fun(product_prod(U_3946,U_3946),bool),bool,hAPP(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool),member(product_prod(U_3946,U_3946)),hAPP(U_3946,product_prod(U_3946,U_3946),hAPP(U_3946,fun(U_3946,product_prod(U_3946,U_3946)),product_Pair(U_3946,U_3946),U_3944),U_3943)),hAPP(fun(product_prod(U_3946,U_3946),bool),fun(product_prod(U_3946,U_3946),bool),transitive_rtrancl(U_3946),U_3945)))
        | ~ hBOOL(hAPP(U_3946,bool,hAPP(U_3946,fun(U_3946,bool),hAPP(fun(U_3946,fun(U_3946,bool)),fun(U_3946,fun(U_3946,bool)),transitive_rtranclp(U_3946),hAPP(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,fun(U_3946,bool)),hAPP(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,fun(U_3946,bool))),combc(U_3946,fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)),hAPP(fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),hAPP(fun(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool))),fun(fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)))),combb(fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(product_prod(U_3946,U_3946),bool),fun(U_3946,bool)),U_3946),combc(U_3946,fun(product_prod(U_3946,U_3946),bool),bool)),hAPP(fun(U_3946,fun(U_3946,product_prod(U_3946,U_3946))),fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),hAPP(fun(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),fun(fun(U_3946,fun(U_3946,product_prod(U_3946,U_3946))),fun(U_3946,fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)))),combb(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool)),U_3946),hAPP(fun(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool)),fun(fun(U_3946,product_prod(U_3946,U_3946)),fun(U_3946,fun(fun(product_prod(U_3946,U_3946),bool),bool))),combb(product_prod(U_3946,U_3946),fun(fun(product_prod(U_3946,U_3946),bool),bool),U_3946),member(product_prod(U_3946,U_3946)))),product_Pair(U_3946,U_3946)))),U_3945)),U_3944),U_3943)) ) ),
    inference(variable_rename,[status(thm)],[f_746_1]) ).

fof(f_746_3,plain,
    ( ! [U_3954,U_3952,U_3950,U_3948] :
        ( hBOOL(hAPP(U_3954,bool,hAPP(U_3954,fun(U_3954,bool),hAPP(fun(U_3954,fun(U_3954,bool)),fun(U_3954,fun(U_3954,bool)),transitive_rtranclp(U_3954),hAPP(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,fun(U_3954,bool)),hAPP(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,fun(U_3954,bool))),combc(U_3954,fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)),hAPP(fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),hAPP(fun(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),fun(fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)))),combb(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)),U_3954),combc(U_3954,fun(product_prod(U_3954,U_3954),bool),bool)),hAPP(fun(U_3954,fun(U_3954,product_prod(U_3954,U_3954))),fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),hAPP(fun(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(fun(U_3954,fun(U_3954,product_prod(U_3954,U_3954))),fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)))),combb(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),U_3954),hAPP(fun(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),combb(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool),U_3954),member(product_prod(U_3954,U_3954)))),product_Pair(U_3954,U_3954)))),U_3952)),U_3950),U_3948))
        | ~ hBOOL(hAPP(fun(product_prod(U_3954,U_3954),bool),bool,hAPP(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool),member(product_prod(U_3954,U_3954)),hAPP(U_3954,product_prod(U_3954,U_3954),hAPP(U_3954,fun(U_3954,product_prod(U_3954,U_3954)),product_Pair(U_3954,U_3954),U_3950),U_3948)),hAPP(fun(product_prod(U_3954,U_3954),bool),fun(product_prod(U_3954,U_3954),bool),transitive_rtrancl(U_3954),U_3952))) )
    & ! [U_3953,U_3951,U_3949,U_3947] :
        ( hBOOL(hAPP(fun(product_prod(U_3953,U_3953),bool),bool,hAPP(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool),member(product_prod(U_3953,U_3953)),hAPP(U_3953,product_prod(U_3953,U_3953),hAPP(U_3953,fun(U_3953,product_prod(U_3953,U_3953)),product_Pair(U_3953,U_3953),U_3949),U_3947)),hAPP(fun(product_prod(U_3953,U_3953),bool),fun(product_prod(U_3953,U_3953),bool),transitive_rtrancl(U_3953),U_3951)))
        | ~ hBOOL(hAPP(U_3953,bool,hAPP(U_3953,fun(U_3953,bool),hAPP(fun(U_3953,fun(U_3953,bool)),fun(U_3953,fun(U_3953,bool)),transitive_rtranclp(U_3953),hAPP(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,fun(U_3953,bool)),hAPP(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,fun(U_3953,bool))),combc(U_3953,fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)),hAPP(fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),hAPP(fun(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),fun(fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)))),combb(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)),U_3953),combc(U_3953,fun(product_prod(U_3953,U_3953),bool),bool)),hAPP(fun(U_3953,fun(U_3953,product_prod(U_3953,U_3953))),fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),hAPP(fun(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(fun(U_3953,fun(U_3953,product_prod(U_3953,U_3953))),fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)))),combb(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),U_3953),hAPP(fun(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),combb(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool),U_3953),member(product_prod(U_3953,U_3953)))),product_Pair(U_3953,U_3953)))),U_3951)),U_3949),U_3947)) ) ),
    inference(miniscope,[status(thm)],[f_746_2]) ).

cnf(f_746_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_3953,U_3953),bool),bool,hAPP(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool),member(product_prod(U_3953,U_3953)),hAPP(U_3953,product_prod(U_3953,U_3953),hAPP(U_3953,fun(U_3953,product_prod(U_3953,U_3953)),product_Pair(U_3953,U_3953),U_3949),U_3947)),hAPP(fun(product_prod(U_3953,U_3953),bool),fun(product_prod(U_3953,U_3953),bool),transitive_rtrancl(U_3953),U_3951)))
    | ~ hBOOL(hAPP(U_3953,bool,hAPP(U_3953,fun(U_3953,bool),hAPP(fun(U_3953,fun(U_3953,bool)),fun(U_3953,fun(U_3953,bool)),transitive_rtranclp(U_3953),hAPP(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,fun(U_3953,bool)),hAPP(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,fun(U_3953,bool))),combc(U_3953,fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)),hAPP(fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),hAPP(fun(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool))),fun(fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)))),combb(fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(product_prod(U_3953,U_3953),bool),fun(U_3953,bool)),U_3953),combc(U_3953,fun(product_prod(U_3953,U_3953),bool),bool)),hAPP(fun(U_3953,fun(U_3953,product_prod(U_3953,U_3953))),fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),hAPP(fun(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),fun(fun(U_3953,fun(U_3953,product_prod(U_3953,U_3953))),fun(U_3953,fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)))),combb(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool)),U_3953),hAPP(fun(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool)),fun(fun(U_3953,product_prod(U_3953,U_3953)),fun(U_3953,fun(fun(product_prod(U_3953,U_3953),bool),bool))),combb(product_prod(U_3953,U_3953),fun(fun(product_prod(U_3953,U_3953),bool),bool),U_3953),member(product_prod(U_3953,U_3953)))),product_Pair(U_3953,U_3953)))),U_3951)),U_3949),U_3947)) ),
    inference(clausify,[status(thm)],[f_746_3]) ).

cnf(f_746_5,plain,
    ( hBOOL(hAPP(U_3954,bool,hAPP(U_3954,fun(U_3954,bool),hAPP(fun(U_3954,fun(U_3954,bool)),fun(U_3954,fun(U_3954,bool)),transitive_rtranclp(U_3954),hAPP(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,fun(U_3954,bool)),hAPP(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,fun(U_3954,bool))),combc(U_3954,fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)),hAPP(fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),hAPP(fun(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool))),fun(fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)))),combb(fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(product_prod(U_3954,U_3954),bool),fun(U_3954,bool)),U_3954),combc(U_3954,fun(product_prod(U_3954,U_3954),bool),bool)),hAPP(fun(U_3954,fun(U_3954,product_prod(U_3954,U_3954))),fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),hAPP(fun(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),fun(fun(U_3954,fun(U_3954,product_prod(U_3954,U_3954))),fun(U_3954,fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)))),combb(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool)),U_3954),hAPP(fun(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool)),fun(fun(U_3954,product_prod(U_3954,U_3954)),fun(U_3954,fun(fun(product_prod(U_3954,U_3954),bool),bool))),combb(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool),U_3954),member(product_prod(U_3954,U_3954)))),product_Pair(U_3954,U_3954)))),U_3952)),U_3950),U_3948))
    | ~ hBOOL(hAPP(fun(product_prod(U_3954,U_3954),bool),bool,hAPP(product_prod(U_3954,U_3954),fun(fun(product_prod(U_3954,U_3954),bool),bool),member(product_prod(U_3954,U_3954)),hAPP(U_3954,product_prod(U_3954,U_3954),hAPP(U_3954,fun(U_3954,product_prod(U_3954,U_3954)),product_Pair(U_3954,U_3954),U_3950),U_3948)),hAPP(fun(product_prod(U_3954,U_3954),bool),fun(product_prod(U_3954,U_3954),bool),transitive_rtrancl(U_3954),U_3952))) ),
    inference(clausify,[status(thm)],[f_746_3]) ).

fof(f_747_1,plain,
    ! [Pa,C_1,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_599_redp__redsp_ORedCast]) ).

fof(f_747_2,plain,
    ! [U_3960,U_3959,U_3958,U_3957,U_3956,U_3955] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3960),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3959),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957)))),U_3958),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957))),U_3958))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3960)),U_3956),U_3959))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3958),U_3957) != 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))),U_3956),U_3955)) ),
    inference(variable_rename,[status(thm)],[f_747_1]) ).

fof(f_747_3,plain,
    ! [U_3960,U_3959,U_3958,U_3957,U_3956] :
      ( ! [U_3955] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3958),U_3957) != 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))),U_3956),U_3955))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3960),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3959),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957)))),U_3958),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957))),U_3958))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3960)),U_3956),U_3959)) ),
    inference(miniscope,[status(thm)],[f_747_2]) ).

cnf(f_747_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3958),U_3957) != 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))),U_3956),U_3955))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3960),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3959),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957)))),U_3958),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3957))),U_3958))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3960)),U_3956),U_3959)) ),
    inference(clausify,[status(thm)],[f_747_3]) ).

fof(f_748_1,plain,
    ! [Va_1,E_2,Pa,C_1,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),C_1),Va_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_600_redp__redsp_ORedTryFail]) ).

fof(f_748_2,plain,
    ! [U_3968,U_3967,U_3966,U_3965,U_3964,U_3963,U_3962,U_3961] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3966),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3965),U_3968),U_3967)),U_3964),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3964))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3966)),U_3962),U_3965))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3964),U_3963) != 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))),U_3962),U_3961)) ),
    inference(variable_rename,[status(thm)],[f_748_1]) ).

fof(f_748_3,plain,
    ! [U_3968,U_3967,U_3966,U_3965,U_3964,U_3963,U_3962] :
      ( ! [U_3961] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3964),U_3963) != 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))),U_3962),U_3961))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3966),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3965),U_3968),U_3967)),U_3964),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3964))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3966)),U_3962),U_3965)) ),
    inference(miniscope,[status(thm)],[f_748_2]) ).

cnf(f_748_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3964),U_3963) != 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))),U_3962),U_3961))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3966),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),tryCatch(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3965),U_3968),U_3967)),U_3964),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3963)))),U_3964))
    | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3966)),U_3962),U_3965)) ),
    inference(clausify,[status(thm)],[f_748_3]) ).

fof(f_749_1,plain,
    ! [Pa,C_1,S,A_1,D_2,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1)))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),S))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),Pa)),D_2),C_1))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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))),D_2),Fs)) ),
    inference(fof_nnf,[status(thm)],[fact_601_redp__redsp_ORedCastFail]) ).

fof(f_749_2,plain,
    ! [U_3974,U_3973,U_3972,U_3971,U_3970,U_3969] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3974),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3973),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3971)))),U_3972),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3972))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3974)),U_3970),U_3973))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3972),U_3971) != 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))),U_3970),U_3969)) ),
    inference(variable_rename,[status(thm)],[f_749_1]) ).

fof(f_749_3,plain,
    ! [U_3974,U_3973,U_3972,U_3971,U_3970] :
      ( ! [U_3969] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3972),U_3971) != 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))),U_3970),U_3969))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3974),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3973),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3971)))),U_3972),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3972))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3974)),U_3970),U_3973)) ),
    inference(miniscope,[status(thm)],[f_749_2]) ).

cnf(f_749_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_3972),U_3971) != 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))),U_3970),U_3969))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_3974),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3973),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_3971)))),U_3972),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,classCast))))),U_3972))
    | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(fun(list(char),fun(list(char),bool)),fun(list(char),fun(list(char),bool)),transitive_rtranclp(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),bool)),subcls1p(product_prod(list(list(char)),exp(list(char)))),U_3974)),U_3970),U_3973)) ),
    inference(clausify,[status(thm)],[f_749_3]) ).

fof(f_750_1,plain,
    ! [X_a,Pa,X_2,Xa] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),X_2),Xa))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),X_2),Xa)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) )
      & ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),X_2),Xa)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),X_2),Xa)) ) ),
    inference(fof_nnf,[status(thm)],[fact_602_subcls1p__subcls1__eq]) ).

fof(f_750_2,plain,
    ! [U_3978,U_3977,U_3976,U_3975] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3978)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3978),U_3977),U_3976),U_3975))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3976),U_3975)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3978)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3978),U_3977))) )
      & ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3976),U_3975)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3978)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3978),U_3977)))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3978)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3978),U_3977),U_3976),U_3975)) ) ),
    inference(variable_rename,[status(thm)],[f_750_1]) ).

fof(f_750_3,plain,
    ( ! [U_3986,U_3984,U_3982,U_3980] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3986)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3986),U_3984),U_3982),U_3980))
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3982),U_3980)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3986)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3986),U_3984))) )
    & ! [U_3985,U_3983,U_3981,U_3979] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3981),U_3979)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3985)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3985),U_3983)))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3985)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3985),U_3983),U_3981),U_3979)) ) ),
    inference(miniscope,[status(thm)],[f_750_2]) ).

cnf(f_750_4,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3981),U_3979)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3985)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3985),U_3983)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3985)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3985),U_3983),U_3981),U_3979)) ),
    inference(clausify,[status(thm)],[f_750_3]) ).

cnf(f_750_5,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3986)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_3986),U_3984),U_3982),U_3980))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_3982),U_3980)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_3986)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_3986),U_3984))) ),
    inference(clausify,[status(thm)],[f_750_3]) ).

fof(f_751_1,plain,
    ! [C_1,Pa,Hb,Ea,Eb,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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),hAPP(list(char),ty,class,C_1)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
      | ~ hBOOL(hAPP(ty,bool,is_refT,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_1,Pa),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_603_WTrtCast]) ).

fof(f_751_2,plain,
    ! [U_3992,U_3991,U_3990,U_3989,U_3988,U_3987] :
      ( 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_1,U_3991),U_3990),U_3989),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3992),U_3988)),hAPP(list(char),ty,class,U_3992)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_3991),U_3992))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_3987))
      | ~ 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_1,U_3991),U_3990),U_3989),U_3988),U_3987)) ),
    inference(variable_rename,[status(thm)],[f_751_1]) ).

cnf(f_751_3,plain,
    ( 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_1,U_3991),U_3990),U_3989),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_3992),U_3988)),hAPP(list(char),ty,class,U_3992)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_3991),U_3992))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_3987))
    | ~ 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_1,U_3991),U_3990),U_3989),U_3988),U_3987)) ),
    inference(clausify,[status(thm)],[f_751_2]) ).

fof(f_752_1,plain,
    ! [List_3] : hAPP(list(char),ty,class,List_3) != void,
    inference(fof_nnf,[status(thm)],[fact_604_ty_Osimps_I9_J]) ).

fof(f_752_2,plain,
    ! [U_3993] : hAPP(list(char),ty,class,U_3993) != void,
    inference(variable_rename,[status(thm)],[f_752_1]) ).

cnf(f_752_3,plain,
    hAPP(list(char),ty,class,U_3993) != void,
    inference(clausify,[status(thm)],[f_752_2]) ).

fof(f_753_1,plain,
    ! [List_3] : void != hAPP(list(char),ty,class,List_3),
    inference(fof_nnf,[status(thm)],[fact_605_ty_Osimps_I8_J]) ).

fof(f_753_2,plain,
    ! [U_3994] : void != hAPP(list(char),ty,class,U_3994),
    inference(variable_rename,[status(thm)],[f_753_1]) ).

cnf(f_753_3,plain,
    void != hAPP(list(char),ty,class,U_3994),
    inference(clausify,[status(thm)],[f_753_2]) ).

fof(f_754_1,plain,
    ! [List,List_1] :
      ( ( hAPP(list(char),ty,class,List) = hAPP(list(char),ty,class,List_1)
        | List != List_1 )
      & ( List = List_1
        | hAPP(list(char),ty,class,List) != hAPP(list(char),ty,class,List_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_606_ty_Oinject]) ).

fof(f_754_2,plain,
    ! [U_3996,U_3995] :
      ( ( hAPP(list(char),ty,class,U_3996) = hAPP(list(char),ty,class,U_3995)
        | U_3996 != U_3995 )
      & ( U_3996 = U_3995
        | hAPP(list(char),ty,class,U_3996) != hAPP(list(char),ty,class,U_3995) ) ),
    inference(variable_rename,[status(thm)],[f_754_1]) ).

fof(f_754_3,plain,
    ( ! [U_4000,U_3998] :
        ( hAPP(list(char),ty,class,U_4000) = hAPP(list(char),ty,class,U_3998)
        | U_4000 != U_3998 )
    & ! [U_3999,U_3997] :
        ( U_3999 = U_3997
        | hAPP(list(char),ty,class,U_3999) != hAPP(list(char),ty,class,U_3997) ) ),
    inference(miniscope,[status(thm)],[f_754_2]) ).

cnf(f_754_4,plain,
    ( U_3999 = U_3997
    | hAPP(list(char),ty,class,U_3999) != hAPP(list(char),ty,class,U_3997) ),
    inference(clausify,[status(thm)],[f_754_3]) ).

cnf(f_754_5,plain,
    ( hAPP(list(char),ty,class,U_4000) = hAPP(list(char),ty,class,U_3998)
    | U_4000 != U_3998 ),
    inference(clausify,[status(thm)],[f_754_3]) ).

fof(f_755_1,plain,
    ! [C_1,Pa,Hb,Ea,Eb,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),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),C_1),Eb)),hAPP(list(char),ty,class,C_1)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
      | ~ hBOOL(hAPP(ty,bool,is_refT,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),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_607_WTrt_H__WTrts_H_Ointros_I2_J]) ).

fof(f_755_2,plain,
    ! [U_4006,U_4005,U_4004,U_4003,U_4002,U_4001] :
      ( 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,U_4005),U_4004),U_4003),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4006),U_4002)),hAPP(list(char),ty,class,U_4006)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4005),U_4006))
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_4001))
      | ~ 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,U_4005),U_4004),U_4003),U_4002),U_4001)) ),
    inference(variable_rename,[status(thm)],[f_755_1]) ).

cnf(f_755_3,plain,
    ( 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,U_4005),U_4004),U_4003),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4006),U_4002)),hAPP(list(char),ty,class,U_4006)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4005),U_4006))
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_4001))
    | ~ 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,U_4005),U_4004),U_4003),U_4002),U_4001)) ),
    inference(clausify,[status(thm)],[f_755_2]) ).

fof(f_756_1,plain,
    ! [Pa,Hb,Ea,D_2,Eb,Ta] :
      ( ( ? [T_5] :
            ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),D_2))
            & hBOOL(hAPP(ty,bool,is_refT,T_5))
            & 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_1,Pa),Hb),Ea),Eb),T_5)) )
        & Ta = hAPP(list(char),ty,class,D_2) )
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),D_2),Eb)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_608_WTrt__elim__cases_I6_J]) ).

fof(f_756_2,plain,
    ! [U_4013,U_4012,U_4011,U_4010,U_4009,U_4008] :
      ( ( ? [U_4007] :
            ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4013),U_4010))
            & hBOOL(hAPP(ty,bool,is_refT,U_4007))
            & 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_1,U_4013),U_4012),U_4011),U_4009),U_4007)) )
        & U_4008 = hAPP(list(char),ty,class,U_4010) )
      | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(variable_rename,[status(thm)],[f_756_1]) ).

fof(f_756_3,plain,
    ! [U_4013,U_4012,U_4011,U_4010,U_4009,U_4008] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4013),U_4010))
        & hBOOL(hAPP(ty,bool,is_refT,sK162(U_4013,U_4012,U_4011,U_4010,U_4009,U_4008)))
        & 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_1,U_4013),U_4012),U_4011),U_4009),sK162(U_4013,U_4012,U_4011,U_4010,U_4009,U_4008)))
        & U_4008 = hAPP(list(char),ty,class,U_4010) )
      | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK162]),skolemize(U_4007,sK162(U_4013,U_4012,U_4011,U_4010,U_4009,U_4008))],[f_756_2]) ).

cnf(f_756_4,plain,
    ( U_4008 = hAPP(list(char),ty,class,U_4010)
    | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(clausify,[status(thm)],[f_756_3]) ).

cnf(f_756_5,plain,
    ( 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_1,U_4013),U_4012),U_4011),U_4009),sK162(U_4013,U_4012,U_4011,U_4010,U_4009,U_4008)))
    | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(clausify,[status(thm)],[f_756_3]) ).

cnf(f_756_6,plain,
    ( hBOOL(hAPP(ty,bool,is_refT,sK162(U_4013,U_4012,U_4011,U_4010,U_4009,U_4008)))
    | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(clausify,[status(thm)],[f_756_3]) ).

cnf(f_756_7,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4013),U_4010))
    | ~ 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_1,U_4013),U_4012),U_4011),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),cast(list(char)),U_4010),U_4009)),U_4008)) ),
    inference(clausify,[status(thm)],[f_756_3]) ).

fof(f_757_1,plain,
    ! [Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,Pa,C_1))
      | ~ hBOOL(hAPP(list(char),bool,Pa,classCast))
      | ~ hBOOL(hAPP(list(char),bool,Pa,outOfMemory))
      | ~ hBOOL(hAPP(list(char),bool,Pa,nullPointer))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts)) ),
    inference(fof_nnf,[status(thm)],[fact_609_sys__xcpts__cases]) ).

fof(f_757_2,plain,
    ! [U_4015,U_4014] :
      ( hBOOL(hAPP(list(char),bool,U_4015,U_4014))
      | ~ hBOOL(hAPP(list(char),bool,U_4015,classCast))
      | ~ hBOOL(hAPP(list(char),bool,U_4015,outOfMemory))
      | ~ hBOOL(hAPP(list(char),bool,U_4015,nullPointer))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4014),sys_xcpts)) ),
    inference(variable_rename,[status(thm)],[f_757_1]) ).

cnf(f_757_3,plain,
    ( hBOOL(hAPP(list(char),bool,U_4015,U_4014))
    | ~ hBOOL(hAPP(list(char),bool,U_4015,classCast))
    | ~ hBOOL(hAPP(list(char),bool,U_4015,outOfMemory))
    | ~ hBOOL(hAPP(list(char),bool,U_4015,nullPointer))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4014),sys_xcpts)) ),
    inference(clausify,[status(thm)],[f_757_2]) ).

fof(f_758_1,plain,
    ! [V_1_2,Va] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),hAPP(bool,val,bool_1,Va)))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_610_binop_Osimps_I9_J]) ).

fof(f_758_2,plain,
    ! [U_4017,U_4016] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_4017),hAPP(bool,val,bool_1,U_4016)))) = none(val),
    inference(variable_rename,[status(thm)],[f_758_1]) ).

cnf(f_758_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_4017),hAPP(bool,val,bool_1,U_4016)))) = none(val),
    inference(clausify,[status(thm)],[f_758_2]) ).

fof(f_759_1,plain,
    ! [Nat,Bool_1] : hAPP(nat,val,addr,Nat) != hAPP(bool,val,bool_1,Bool_1),
    inference(fof_nnf,[status(thm)],[fact_611_val_Osimps_I21_J]) ).

fof(f_759_2,plain,
    ! [U_4019,U_4018] : hAPP(nat,val,addr,U_4019) != hAPP(bool,val,bool_1,U_4018),
    inference(variable_rename,[status(thm)],[f_759_1]) ).

cnf(f_759_3,plain,
    hAPP(nat,val,addr,U_4019) != hAPP(bool,val,bool_1,U_4018),
    inference(clausify,[status(thm)],[f_759_2]) ).

fof(f_760_1,plain,
    ! [Bool_1,Nat] : hAPP(bool,val,bool_1,Bool_1) != hAPP(nat,val,addr,Nat),
    inference(fof_nnf,[status(thm)],[fact_612_val_Osimps_I20_J]) ).

fof(f_760_2,plain,
    ! [U_4021,U_4020] : hAPP(bool,val,bool_1,U_4021) != hAPP(nat,val,addr,U_4020),
    inference(variable_rename,[status(thm)],[f_760_1]) ).

cnf(f_760_3,plain,
    hAPP(bool,val,bool_1,U_4021) != hAPP(nat,val,addr,U_4020),
    inference(clausify,[status(thm)],[f_760_2]) ).

fof(f_761_1,plain,
    ! [Bool_1,Bool] :
      ( ( hAPP(bool,val,bool_1,Bool_1) = hAPP(bool,val,bool_1,Bool)
        | ( ~ hBOOL(Bool_1)
          & hBOOL(Bool) )
        | ( ~ hBOOL(Bool)
          & hBOOL(Bool_1) ) )
      & ( ( ( hBOOL(Bool_1)
            | ~ hBOOL(Bool) )
          & ( hBOOL(Bool)
            | ~ hBOOL(Bool_1) ) )
        | hAPP(bool,val,bool_1,Bool_1) != hAPP(bool,val,bool_1,Bool) ) ),
    inference(fof_nnf,[status(thm)],[fact_613_val_Osimps_I1_J]) ).

fof(f_761_2,plain,
    ! [U_4023,U_4022] :
      ( ( hAPP(bool,val,bool_1,U_4023) = hAPP(bool,val,bool_1,U_4022)
        | ( ~ hBOOL(U_4023)
          & hBOOL(U_4022) )
        | ( ~ hBOOL(U_4022)
          & hBOOL(U_4023) ) )
      & ( ( ( hBOOL(U_4023)
            | ~ hBOOL(U_4022) )
          & ( hBOOL(U_4022)
            | ~ hBOOL(U_4023) ) )
        | hAPP(bool,val,bool_1,U_4023) != hAPP(bool,val,bool_1,U_4022) ) ),
    inference(variable_rename,[status(thm)],[f_761_1]) ).

fof(f_761_3,plain,
    ( ! [U_4027,U_4025] :
        ( hAPP(bool,val,bool_1,U_4027) = hAPP(bool,val,bool_1,U_4025)
        | ( ~ hBOOL(U_4027)
          & hBOOL(U_4025) )
        | ( ~ hBOOL(U_4025)
          & hBOOL(U_4027) ) )
    & ! [U_4026,U_4024] :
        ( ( ( hBOOL(U_4026)
            | ~ hBOOL(U_4024) )
          & ( hBOOL(U_4024)
            | ~ hBOOL(U_4026) ) )
        | hAPP(bool,val,bool_1,U_4026) != hAPP(bool,val,bool_1,U_4024) ) ),
    inference(miniscope,[status(thm)],[f_761_2]) ).

cnf(f_761_4,plain,
    ( hBOOL(U_4024)
    | ~ hBOOL(U_4026)
    | hAPP(bool,val,bool_1,U_4026) != hAPP(bool,val,bool_1,U_4024) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

cnf(f_761_5,plain,
    ( hBOOL(U_4026)
    | ~ hBOOL(U_4024)
    | hAPP(bool,val,bool_1,U_4026) != hAPP(bool,val,bool_1,U_4024) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

cnf(f_761_6,plain,
    ( hBOOL(U_4025)
    | hBOOL(U_4027)
    | hAPP(bool,val,bool_1,U_4027) = hAPP(bool,val,bool_1,U_4025) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

cnf(f_761_7,plain,
    ( ~ hBOOL(U_4027)
    | hBOOL(U_4027)
    | hAPP(bool,val,bool_1,U_4027) = hAPP(bool,val,bool_1,U_4025) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

cnf(f_761_8,plain,
    ( hBOOL(U_4025)
    | ~ hBOOL(U_4025)
    | hAPP(bool,val,bool_1,U_4027) = hAPP(bool,val,bool_1,U_4025) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

cnf(f_761_9,plain,
    ( ~ hBOOL(U_4027)
    | ~ hBOOL(U_4025)
    | hAPP(bool,val,bool_1,U_4027) = hAPP(bool,val,bool_1,U_4025) ),
    inference(clausify,[status(thm)],[f_761_3]) ).

fof(f_762_1,plain,
    ! [Bool] : unit != hAPP(bool,val,bool_1,Bool),
    inference(fof_nnf,[status(thm)],[fact_614_val_Osimps_I6_J]) ).

fof(f_762_2,plain,
    ! [U_4028] : unit != hAPP(bool,val,bool_1,U_4028),
    inference(variable_rename,[status(thm)],[f_762_1]) ).

cnf(f_762_3,plain,
    unit != hAPP(bool,val,bool_1,U_4028),
    inference(clausify,[status(thm)],[f_762_2]) ).

fof(f_763_1,plain,
    ! [Bool] : hAPP(bool,val,bool_1,Bool) != unit,
    inference(fof_nnf,[status(thm)],[fact_615_val_Osimps_I7_J]) ).

fof(f_763_2,plain,
    ! [U_4029] : hAPP(bool,val,bool_1,U_4029) != unit,
    inference(variable_rename,[status(thm)],[f_763_1]) ).

cnf(f_763_3,plain,
    hAPP(bool,val,bool_1,U_4029) != unit,
    inference(clausify,[status(thm)],[f_763_2]) ).

fof(f_764_1,plain,
    ! [Bool] : null != hAPP(bool,val,bool_1,Bool),
    inference(fof_nnf,[status(thm)],[fact_616_val_Osimps_I12_J]) ).

fof(f_764_2,plain,
    ! [U_4030] : null != hAPP(bool,val,bool_1,U_4030),
    inference(variable_rename,[status(thm)],[f_764_1]) ).

cnf(f_764_3,plain,
    null != hAPP(bool,val,bool_1,U_4030),
    inference(clausify,[status(thm)],[f_764_2]) ).

fof(f_765_1,plain,
    ! [Bool] : hAPP(bool,val,bool_1,Bool) != null,
    inference(fof_nnf,[status(thm)],[fact_617_val_Osimps_I13_J]) ).

fof(f_765_2,plain,
    ! [U_4031] : hAPP(bool,val,bool_1,U_4031) != null,
    inference(variable_rename,[status(thm)],[f_765_1]) ).

cnf(f_765_3,plain,
    hAPP(bool,val,bool_1,U_4031) != null,
    inference(clausify,[status(thm)],[f_765_2]) ).

fof(f_766_1,plain,
    ! [C_1,Hb] :
      ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),hAPP(list(char),nat,addr_of_sys_xcpt,C_1)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,bool),dom(nat,product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb)))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_618_preallocated__dom]) ).

fof(f_766_2,plain,
    ! [U_4033,U_4032] :
      ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),hAPP(list(char),nat,addr_of_sys_xcpt,U_4033)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,bool),dom(nat,product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4032)))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4033),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4032)) ),
    inference(variable_rename,[status(thm)],[f_766_1]) ).

cnf(f_766_3,plain,
    ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),hAPP(list(char),nat,addr_of_sys_xcpt,U_4033)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,bool),dom(nat,product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4032)))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4033),sys_xcpts))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4032)) ),
    inference(clausify,[status(thm)],[f_766_2]) ).

fof(f_767_1,plain,
    ! [Va,V_2_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(bool,val,bool_1,Va)),V_2_1))) = none(val),
    inference(fof_nnf,[status(thm)],[fact_619_binop_Osimps_I5_J]) ).

fof(f_767_2,plain,
    ! [U_4035,U_4034] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(bool,val,bool_1,U_4035)),U_4034))) = none(val),
    inference(variable_rename,[status(thm)],[f_767_1]) ).

cnf(f_767_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),add),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),hAPP(bool,val,bool_1,U_4035)),U_4034))) = none(val),
    inference(clausify,[status(thm)],[f_767_2]) ).

fof(f_768_1,plain,
    ! [Pa,C_1,Hb] :
      ( hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),Pa,Hb),C_1))
      | ? [Fs_1] :
          ( ~ hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),Pa,Hb),C_1))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,C_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(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_620_preallocatedE]) ).

fof(f_768_2,plain,
    ! [U_4039,U_4038,U_4037] :
      ( hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
      | ? [U_4036] :
          ( ~ hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4037,hAPP(list(char),nat,addr_of_sys_xcpt,U_4038)) = 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))),U_4038),U_4036)) )
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4038),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4037)) ),
    inference(variable_rename,[status(thm)],[f_768_1]) ).

fof(f_768_3,plain,
    ! [U_4039,U_4038,U_4037] :
      ( hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
      | ( ? [U_4036] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4037,hAPP(list(char),nat,addr_of_sys_xcpt,U_4038)) = 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))),U_4038),U_4036))
        & ~ hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038)) )
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4038),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4037)) ),
    inference(miniscope,[status(thm)],[f_768_2]) ).

fof(f_768_4,plain,
    ! [U_4039,U_4038,U_4037] :
      ( hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
      | ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4037,hAPP(list(char),nat,addr_of_sys_xcpt,U_4038)) = 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))),U_4038),sK163(U_4039,U_4038,U_4037)))
        & ~ hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038)) )
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4038),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4037)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK163]),skolemize(U_4036,sK163(U_4039,U_4038,U_4037))],[f_768_3]) ).

cnf(f_768_5,plain,
    ( ~ hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
    | hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4038),sys_xcpts))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4037)) ),
    inference(clausify,[status(thm)],[f_768_4]) ).

cnf(f_768_6,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4037,hAPP(list(char),nat,addr_of_sys_xcpt,U_4038)) = 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))),U_4038),sK163(U_4039,U_4038,U_4037)))
    | hBOOL(hAPP(list(char),bool,hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),bool),U_4039,U_4037),U_4038))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4038),sys_xcpts))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4037)) ),
    inference(clausify,[status(thm)],[f_768_4]) ).

fof(f_769_1,plain,
    ! [C_1,Hb] :
      ( ? [Fs_1] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,C_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(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ),
    inference(fof_nnf,[status(thm)],[fact_621_preallocatedD]) ).

fof(f_769_2,plain,
    ! [U_4042,U_4041] :
      ( ? [U_4040] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4041,hAPP(list(char),nat,addr_of_sys_xcpt,U_4042)) = 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))),U_4042),U_4040))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4042),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4041)) ),
    inference(variable_rename,[status(thm)],[f_769_1]) ).

fof(f_769_3,plain,
    ! [U_4042,U_4041] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4041,hAPP(list(char),nat,addr_of_sys_xcpt,U_4042)) = 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))),U_4042),sK164(U_4042,U_4041)))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4042),sys_xcpts))
      | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4041)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK164]),skolemize(U_4040,sK164(U_4042,U_4041))],[f_769_2]) ).

cnf(f_769_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4041,hAPP(list(char),nat,addr_of_sys_xcpt,U_4042)) = 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))),U_4042),sK164(U_4042,U_4041)))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4042),sys_xcpts))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4041)) ),
    inference(clausify,[status(thm)],[f_769_3]) ).

fof(f_770_1,plain,
    ! [Hb] :
      ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb))
        | ? [X_2] :
            ( ! [Fs_1] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,X_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))),X_2),Fs_1))
            & hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),X_2),sys_xcpts)) ) )
      & ( ! [X_2] :
            ( ? [Fs_1] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,hAPP(list(char),nat,addr_of_sys_xcpt,X_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))),X_2),Fs_1))
            | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),X_2),sys_xcpts)) )
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,Hb)) ) ),
    inference(fof_nnf,[status(thm)],[fact_622_preallocated__def]) ).

fof(f_770_2,plain,
    ! [U_4047] :
      ( ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4047))
        | ? [U_4046] :
            ( ! [U_4045] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4047,hAPP(list(char),nat,addr_of_sys_xcpt,U_4046)) != 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))),U_4046),U_4045))
            & hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4046),sys_xcpts)) ) )
      & ( ! [U_4044] :
            ( ? [U_4043] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4047,hAPP(list(char),nat,addr_of_sys_xcpt,U_4044)) = 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))),U_4044),U_4043))
            | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4044),sys_xcpts)) )
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4047)) ) ),
    inference(variable_rename,[status(thm)],[f_770_1]) ).

fof(f_770_3,plain,
    ( ! [U_4049] :
        ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4049))
        | ? [U_4046] :
            ( ! [U_4045] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4049,hAPP(list(char),nat,addr_of_sys_xcpt,U_4046)) != 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))),U_4046),U_4045))
            & hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4046),sys_xcpts)) ) )
    & ! [U_4048] :
        ( ! [U_4044] :
            ( ? [U_4043] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4048,hAPP(list(char),nat,addr_of_sys_xcpt,U_4044)) = 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))),U_4044),U_4043))
            | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4044),sys_xcpts)) )
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4048)) ) ),
    inference(miniscope,[status(thm)],[f_770_2]) ).

fof(f_770_4,plain,
    ( ! [U_4049] :
        ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4049))
        | ? [U_4046] :
            ( ! [U_4045] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4049,hAPP(list(char),nat,addr_of_sys_xcpt,U_4046)) != 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))),U_4046),U_4045))
            & hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4046),sys_xcpts)) ) )
    & ! [U_4048] :
        ( ! [U_4044] :
            ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4048,hAPP(list(char),nat,addr_of_sys_xcpt,U_4044)) = 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))),U_4044),sK165(U_4048,U_4044)))
            | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4044),sys_xcpts)) )
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4048)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK165]),skolemize(U_4043,sK165(U_4048,U_4044))],[f_770_3]) ).

fof(f_770_5,plain,
    ( ! [U_4049] :
        ( hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4049))
        | ( ! [U_4045] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4049,hAPP(list(char),nat,addr_of_sys_xcpt,sK166(U_4049))) != 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))),sK166(U_4049)),U_4045))
          & hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),sK166(U_4049)),sys_xcpts)) ) )
    & ! [U_4048] :
        ( ! [U_4044] :
            ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4048,hAPP(list(char),nat,addr_of_sys_xcpt,U_4044)) = 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))),U_4044),sK165(U_4048,U_4044)))
            | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4044),sys_xcpts)) )
        | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4048)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK166]),skolemize(U_4046,sK166(U_4049))],[f_770_4]) ).

cnf(f_770_6,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4048,hAPP(list(char),nat,addr_of_sys_xcpt,U_4044)) = 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))),U_4044),sK165(U_4048,U_4044)))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4044),sys_xcpts))
    | ~ hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4048)) ),
    inference(clausify,[status(thm)],[f_770_5]) ).

cnf(f_770_7,plain,
    ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),sK166(U_4049)),sys_xcpts))
    | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4049)) ),
    inference(clausify,[status(thm)],[f_770_5]) ).

cnf(f_770_8,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4049,hAPP(list(char),nat,addr_of_sys_xcpt,sK166(U_4049))) != 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))),sK166(U_4049)),U_4045))
    | hBOOL(hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),bool,preallocated,U_4049)) ),
    inference(clausify,[status(thm)],[f_770_5]) ).

fof(f_771_1,plain,
    ! [X_a,Wf_md,Pa,C_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),C_1),sys_xcpts)) ),
    inference(fof_nnf,[status(thm)],[fact_623_is__class__xcpt]) ).

fof(f_771_2,plain,
    ! [U_4053,U_4052,U_4051,U_4050] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053)))))))),fun(list(char),bool),is_class(U_4053),U_4051),U_4050))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053)))))))),bool,hAPP(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,U_4053)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053))),bool))),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,U_4053)))))))),bool),wf_prog(U_4053),U_4052),U_4051))
      | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4050),sys_xcpts)) ),
    inference(variable_rename,[status(thm)],[f_771_1]) ).

cnf(f_771_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053)))))))),fun(list(char),bool),is_class(U_4053),U_4051),U_4050))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053)))))))),bool,hAPP(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,U_4053)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4053))),bool))),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,U_4053)))))))),bool),wf_prog(U_4053),U_4052),U_4051))
    | ~ hBOOL(hAPP(fun(list(char),bool),bool,hAPP(list(char),fun(fun(list(char),bool),bool),member(list(char)),U_4050),sys_xcpts)) ),
    inference(clausify,[status(thm)],[f_771_2]) ).

fof(f_772_1,plain,
    ! [V_1_2,V_2_1] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),c_Expr_Obop_OEq),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),V_1_2),V_2_1))) = hAPP(val,option(val),some(val),hAPP(bool,val,bool_1,hAPP(val,bool,hAPP(val,fun(val,bool),fequal(val),V_1_2),V_2_1))),
    inference(fof_nnf,[status(thm)],[fact_624_binop_Osimps_I1_J]) ).

fof(f_772_2,plain,
    ! [U_4055,U_4054] : hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),c_Expr_Obop_OEq),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_4055),U_4054))) = hAPP(val,option(val),some(val),hAPP(bool,val,bool_1,hAPP(val,bool,hAPP(val,fun(val,bool),fequal(val),U_4055),U_4054))),
    inference(variable_rename,[status(thm)],[f_772_1]) ).

cnf(f_772_3,plain,
    hAPP(product_prod(bop,product_prod(val,val)),option(val),binop,hAPP(product_prod(val,val),product_prod(bop,product_prod(val,val)),hAPP(bop,fun(product_prod(val,val),product_prod(bop,product_prod(val,val))),product_Pair(bop,product_prod(val,val)),c_Expr_Obop_OEq),hAPP(val,product_prod(val,val),hAPP(val,fun(val,product_prod(val,val)),product_Pair(val,val),U_4055),U_4054))) = hAPP(val,option(val),some(val),hAPP(bool,val,bool_1,hAPP(val,bool,hAPP(val,fun(val,bool),fequal(val),U_4055),U_4054))),
    inference(clausify,[status(thm)],[f_772_2]) ).

fof(f_773_1,plain,
    ! [C,B,S,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_625_WhileFReds]) ).

fof(f_773_2,plain,
    ! [U_4060,U_4059,U_4058,U_4057,U_4056] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4059),U_4060)),U_4058)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),U_4057))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4056))))
      | ~ 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)))),U_4059),U_4058)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4057))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4056)))) ),
    inference(variable_rename,[status(thm)],[f_773_1]) ).

cnf(f_773_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4059),U_4060)),U_4058)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),unit)),U_4057))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4056))))
    | ~ 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)))),U_4059),U_4058)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4057))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4056)))) ),
    inference(clausify,[status(thm)],[f_773_2]) ).

fof(f_774_1,plain,
    ! [X_a,Exp1,Exp2,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_626_exp_Osimps_I149_J]) ).

fof(f_774_2,plain,
    ! [U_4065,U_4064,U_4063,U_4062,U_4061] : hAPP(exp(U_4065),exp(U_4065),hAPP(exp(U_4065),fun(exp(U_4065),exp(U_4065)),while(U_4065),U_4064),U_4063) != hAPP(exp(U_4065),exp(U_4065),hAPP(U_4065,fun(exp(U_4065),exp(U_4065)),lAss(U_4065),U_4062),U_4061),
    inference(variable_rename,[status(thm)],[f_774_1]) ).

cnf(f_774_3,plain,
    hAPP(exp(U_4065),exp(U_4065),hAPP(exp(U_4065),fun(exp(U_4065),exp(U_4065)),while(U_4065),U_4064),U_4063) != hAPP(exp(U_4065),exp(U_4065),hAPP(U_4065,fun(exp(U_4065),exp(U_4065)),lAss(U_4065),U_4062),U_4061),
    inference(clausify,[status(thm)],[f_774_2]) ).

fof(f_775_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_627_exp_Osimps_I209_J]) ).

fof(f_775_2,plain,
    ! [U_4070,U_4069,U_4068,U_4067,U_4066] : hAPP(exp(U_4070),exp(U_4070),hAPP(exp(U_4070),fun(exp(U_4070),exp(U_4070)),while(U_4070),U_4069),U_4068) != hAPP(exp(U_4070),exp(U_4070),hAPP(exp(U_4070),fun(exp(U_4070),exp(U_4070)),seq(U_4070),U_4067),U_4066),
    inference(variable_rename,[status(thm)],[f_775_1]) ).

cnf(f_775_3,plain,
    hAPP(exp(U_4070),exp(U_4070),hAPP(exp(U_4070),fun(exp(U_4070),exp(U_4070)),while(U_4070),U_4069),U_4068) != hAPP(exp(U_4070),exp(U_4070),hAPP(exp(U_4070),fun(exp(U_4070),exp(U_4070)),seq(U_4070),U_4067),U_4066),
    inference(clausify,[status(thm)],[f_775_2]) ).

fof(f_776_1,plain,
    ! [X_a,A_5,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_628_exp_Osimps_I148_J]) ).

fof(f_776_2,plain,
    ! [U_4075,U_4074,U_4073,U_4072,U_4071] : hAPP(exp(U_4075),exp(U_4075),hAPP(U_4075,fun(exp(U_4075),exp(U_4075)),lAss(U_4075),U_4074),U_4073) != hAPP(exp(U_4075),exp(U_4075),hAPP(exp(U_4075),fun(exp(U_4075),exp(U_4075)),while(U_4075),U_4072),U_4071),
    inference(variable_rename,[status(thm)],[f_776_1]) ).

cnf(f_776_3,plain,
    hAPP(exp(U_4075),exp(U_4075),hAPP(U_4075,fun(exp(U_4075),exp(U_4075)),lAss(U_4075),U_4074),U_4073) != hAPP(exp(U_4075),exp(U_4075),hAPP(exp(U_4075),fun(exp(U_4075),exp(U_4075)),while(U_4075),U_4072),U_4071),
    inference(clausify,[status(thm)],[f_776_2]) ).

fof(f_777_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_629_exp_Osimps_I208_J]) ).

fof(f_777_2,plain,
    ! [U_4080,U_4079,U_4078,U_4077,U_4076] : hAPP(exp(U_4080),exp(U_4080),hAPP(exp(U_4080),fun(exp(U_4080),exp(U_4080)),seq(U_4080),U_4079),U_4078) != hAPP(exp(U_4080),exp(U_4080),hAPP(exp(U_4080),fun(exp(U_4080),exp(U_4080)),while(U_4080),U_4077),U_4076),
    inference(variable_rename,[status(thm)],[f_777_1]) ).

cnf(f_777_3,plain,
    hAPP(exp(U_4080),exp(U_4080),hAPP(exp(U_4080),fun(exp(U_4080),exp(U_4080)),seq(U_4080),U_4079),U_4078) != hAPP(exp(U_4080),exp(U_4080),hAPP(exp(U_4080),fun(exp(U_4080),exp(U_4080)),while(U_4080),U_4077),U_4076),
    inference(clausify,[status(thm)],[f_777_2]) ).

fof(f_778_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_630_exp_Osimps_I179_J]) ).

fof(f_778_2,plain,
    ! [U_4087,U_4086,U_4085,U_4084,U_4083,U_4082,U_4081] : hAPP(exp(U_4087),exp(U_4087),hAPP(exp(U_4087),fun(exp(U_4087),exp(U_4087)),while(U_4087),U_4086),U_4085) != hAPP(exp(U_4087),exp(U_4087),hAPP(list(char),fun(exp(U_4087),exp(U_4087)),hAPP(list(char),fun(list(char),fun(exp(U_4087),exp(U_4087))),hAPP(exp(U_4087),fun(list(char),fun(list(char),fun(exp(U_4087),exp(U_4087)))),fAss(U_4087),U_4084),U_4083),U_4082),U_4081),
    inference(variable_rename,[status(thm)],[f_778_1]) ).

cnf(f_778_3,plain,
    hAPP(exp(U_4087),exp(U_4087),hAPP(exp(U_4087),fun(exp(U_4087),exp(U_4087)),while(U_4087),U_4086),U_4085) != hAPP(exp(U_4087),exp(U_4087),hAPP(list(char),fun(exp(U_4087),exp(U_4087)),hAPP(list(char),fun(list(char),fun(exp(U_4087),exp(U_4087))),hAPP(exp(U_4087),fun(list(char),fun(list(char),fun(exp(U_4087),exp(U_4087)))),fAss(U_4087),U_4084),U_4083),U_4082),U_4081),
    inference(clausify,[status(thm)],[f_778_2]) ).

fof(f_779_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_631_exp_Osimps_I178_J]) ).

fof(f_779_2,plain,
    ! [U_4094,U_4093,U_4092,U_4091,U_4090,U_4089,U_4088] : hAPP(exp(U_4094),exp(U_4094),hAPP(list(char),fun(exp(U_4094),exp(U_4094)),hAPP(list(char),fun(list(char),fun(exp(U_4094),exp(U_4094))),hAPP(exp(U_4094),fun(list(char),fun(list(char),fun(exp(U_4094),exp(U_4094)))),fAss(U_4094),U_4093),U_4092),U_4091),U_4090) != hAPP(exp(U_4094),exp(U_4094),hAPP(exp(U_4094),fun(exp(U_4094),exp(U_4094)),while(U_4094),U_4089),U_4088),
    inference(variable_rename,[status(thm)],[f_779_1]) ).

cnf(f_779_3,plain,
    hAPP(exp(U_4094),exp(U_4094),hAPP(list(char),fun(exp(U_4094),exp(U_4094)),hAPP(list(char),fun(list(char),fun(exp(U_4094),exp(U_4094))),hAPP(exp(U_4094),fun(list(char),fun(list(char),fun(exp(U_4094),exp(U_4094)))),fAss(U_4094),U_4093),U_4092),U_4091),U_4090) != hAPP(exp(U_4094),exp(U_4094),hAPP(exp(U_4094),fun(exp(U_4094),exp(U_4094)),while(U_4094),U_4089),U_4088),
    inference(clausify,[status(thm)],[f_779_2]) ).

fof(f_780_1,plain,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_632_exp_Osimps_I200_J]) ).

fof(f_780_2,plain,
    ! [U_4100,U_4099,U_4098,U_4097,U_4096,U_4095] : hAPP(exp(U_4100),exp(U_4100),hAPP(ty,fun(exp(U_4100),exp(U_4100)),hAPP(U_4100,fun(ty,fun(exp(U_4100),exp(U_4100))),block(U_4100),U_4099),U_4098),U_4097) != hAPP(exp(U_4100),exp(U_4100),hAPP(exp(U_4100),fun(exp(U_4100),exp(U_4100)),while(U_4100),U_4096),U_4095),
    inference(variable_rename,[status(thm)],[f_780_1]) ).

cnf(f_780_3,plain,
    hAPP(exp(U_4100),exp(U_4100),hAPP(ty,fun(exp(U_4100),exp(U_4100)),hAPP(U_4100,fun(ty,fun(exp(U_4100),exp(U_4100))),block(U_4100),U_4099),U_4098),U_4097) != hAPP(exp(U_4100),exp(U_4100),hAPP(exp(U_4100),fun(exp(U_4100),exp(U_4100)),while(U_4100),U_4096),U_4095),
    inference(clausify,[status(thm)],[f_780_2]) ).

fof(f_781_1,plain,
    ! [X_a,Exp1,Exp2,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    inference(fof_nnf,[status(thm)],[fact_633_exp_Osimps_I201_J]) ).

fof(f_781_2,plain,
    ! [U_4106,U_4105,U_4104,U_4103,U_4102,U_4101] : hAPP(exp(U_4106),exp(U_4106),hAPP(exp(U_4106),fun(exp(U_4106),exp(U_4106)),while(U_4106),U_4105),U_4104) != hAPP(exp(U_4106),exp(U_4106),hAPP(ty,fun(exp(U_4106),exp(U_4106)),hAPP(U_4106,fun(ty,fun(exp(U_4106),exp(U_4106))),block(U_4106),U_4103),U_4102),U_4101),
    inference(variable_rename,[status(thm)],[f_781_1]) ).

cnf(f_781_3,plain,
    hAPP(exp(U_4106),exp(U_4106),hAPP(exp(U_4106),fun(exp(U_4106),exp(U_4106)),while(U_4106),U_4105),U_4104) != hAPP(exp(U_4106),exp(U_4106),hAPP(ty,fun(exp(U_4106),exp(U_4106)),hAPP(U_4106,fun(ty,fun(exp(U_4106),exp(U_4106))),block(U_4106),U_4103),U_4102),U_4101),
    inference(clausify,[status(thm)],[f_781_2]) ).

fof(f_782_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_634_exp_Osimps_I111_J]) ).

fof(f_782_2,plain,
    ! [U_4112,U_4111,U_4110,U_4109,U_4108,U_4107] : hAPP(exp(U_4112),exp(U_4112),hAPP(exp(U_4112),fun(exp(U_4112),exp(U_4112)),while(U_4112),U_4111),U_4110) != hAPP(exp(U_4112),exp(U_4112),hAPP(bop,fun(exp(U_4112),exp(U_4112)),hAPP(exp(U_4112),fun(bop,fun(exp(U_4112),exp(U_4112))),binOp(U_4112),U_4109),U_4108),U_4107),
    inference(variable_rename,[status(thm)],[f_782_1]) ).

cnf(f_782_3,plain,
    hAPP(exp(U_4112),exp(U_4112),hAPP(exp(U_4112),fun(exp(U_4112),exp(U_4112)),while(U_4112),U_4111),U_4110) != hAPP(exp(U_4112),exp(U_4112),hAPP(bop,fun(exp(U_4112),exp(U_4112)),hAPP(exp(U_4112),fun(bop,fun(exp(U_4112),exp(U_4112))),binOp(U_4112),U_4109),U_4108),U_4107),
    inference(clausify,[status(thm)],[f_782_2]) ).

fof(f_783_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_635_exp_Osimps_I110_J]) ).

fof(f_783_2,plain,
    ! [U_4118,U_4117,U_4116,U_4115,U_4114,U_4113] : hAPP(exp(U_4118),exp(U_4118),hAPP(bop,fun(exp(U_4118),exp(U_4118)),hAPP(exp(U_4118),fun(bop,fun(exp(U_4118),exp(U_4118))),binOp(U_4118),U_4117),U_4116),U_4115) != hAPP(exp(U_4118),exp(U_4118),hAPP(exp(U_4118),fun(exp(U_4118),exp(U_4118)),while(U_4118),U_4114),U_4113),
    inference(variable_rename,[status(thm)],[f_783_1]) ).

cnf(f_783_3,plain,
    hAPP(exp(U_4118),exp(U_4118),hAPP(bop,fun(exp(U_4118),exp(U_4118)),hAPP(exp(U_4118),fun(bop,fun(exp(U_4118),exp(U_4118))),binOp(U_4118),U_4117),U_4116),U_4115) != hAPP(exp(U_4118),exp(U_4118),hAPP(exp(U_4118),fun(exp(U_4118),exp(U_4118)),while(U_4118),U_4114),U_4113),
    inference(clausify,[status(thm)],[f_783_2]) ).

fof(f_784_1,plain,
    ! [X_a,List_2,Exp,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_636_exp_Osimps_I64_J]) ).

fof(f_784_2,plain,
    ! [U_4123,U_4122,U_4121,U_4120,U_4119] : hAPP(exp(U_4123),exp(U_4123),hAPP(list(char),fun(exp(U_4123),exp(U_4123)),cast(U_4123),U_4122),U_4121) != hAPP(exp(U_4123),exp(U_4123),hAPP(exp(U_4123),fun(exp(U_4123),exp(U_4123)),while(U_4123),U_4120),U_4119),
    inference(variable_rename,[status(thm)],[f_784_1]) ).

cnf(f_784_3,plain,
    hAPP(exp(U_4123),exp(U_4123),hAPP(list(char),fun(exp(U_4123),exp(U_4123)),cast(U_4123),U_4122),U_4121) != hAPP(exp(U_4123),exp(U_4123),hAPP(exp(U_4123),fun(exp(U_4123),exp(U_4123)),while(U_4123),U_4120),U_4119),
    inference(clausify,[status(thm)],[f_784_2]) ).

fof(f_785_1,plain,
    ! [X_a,Exp1,Exp2,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_637_exp_Osimps_I65_J]) ).

fof(f_785_2,plain,
    ! [U_4128,U_4127,U_4126,U_4125,U_4124] : hAPP(exp(U_4128),exp(U_4128),hAPP(exp(U_4128),fun(exp(U_4128),exp(U_4128)),while(U_4128),U_4127),U_4126) != hAPP(exp(U_4128),exp(U_4128),hAPP(list(char),fun(exp(U_4128),exp(U_4128)),cast(U_4128),U_4125),U_4124),
    inference(variable_rename,[status(thm)],[f_785_1]) ).

cnf(f_785_3,plain,
    hAPP(exp(U_4128),exp(U_4128),hAPP(exp(U_4128),fun(exp(U_4128),exp(U_4128)),while(U_4128),U_4127),U_4126) != hAPP(exp(U_4128),exp(U_4128),hAPP(list(char),fun(exp(U_4128),exp(U_4128)),cast(U_4128),U_4125),U_4124),
    inference(clausify,[status(thm)],[f_785_2]) ).

fof(f_786_1,plain,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_638_exp_Osimps_I165_J]) ).

fof(f_786_2,plain,
    ! [U_4134,U_4133,U_4132,U_4131,U_4130,U_4129] : hAPP(exp(U_4134),exp(U_4134),hAPP(exp(U_4134),fun(exp(U_4134),exp(U_4134)),while(U_4134),U_4133),U_4132) != hAPP(list(char),exp(U_4134),hAPP(list(char),fun(list(char),exp(U_4134)),hAPP(exp(U_4134),fun(list(char),fun(list(char),exp(U_4134))),fAcc(U_4134),U_4131),U_4130),U_4129),
    inference(variable_rename,[status(thm)],[f_786_1]) ).

cnf(f_786_3,plain,
    hAPP(exp(U_4134),exp(U_4134),hAPP(exp(U_4134),fun(exp(U_4134),exp(U_4134)),while(U_4134),U_4133),U_4132) != hAPP(list(char),exp(U_4134),hAPP(list(char),fun(list(char),exp(U_4134)),hAPP(exp(U_4134),fun(list(char),fun(list(char),exp(U_4134))),fAcc(U_4134),U_4131),U_4130),U_4129),
    inference(clausify,[status(thm)],[f_786_2]) ).

fof(f_787_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_639_exp_Osimps_I164_J]) ).

fof(f_787_2,plain,
    ! [U_4140,U_4139,U_4138,U_4137,U_4136,U_4135] : hAPP(list(char),exp(U_4140),hAPP(list(char),fun(list(char),exp(U_4140)),hAPP(exp(U_4140),fun(list(char),fun(list(char),exp(U_4140))),fAcc(U_4140),U_4139),U_4138),U_4137) != hAPP(exp(U_4140),exp(U_4140),hAPP(exp(U_4140),fun(exp(U_4140),exp(U_4140)),while(U_4140),U_4136),U_4135),
    inference(variable_rename,[status(thm)],[f_787_1]) ).

cnf(f_787_3,plain,
    hAPP(list(char),exp(U_4140),hAPP(list(char),fun(list(char),exp(U_4140)),hAPP(exp(U_4140),fun(list(char),fun(list(char),exp(U_4140))),fAcc(U_4140),U_4139),U_4138),U_4137) != hAPP(exp(U_4140),exp(U_4140),hAPP(exp(U_4140),fun(exp(U_4140),exp(U_4140)),while(U_4140),U_4136),U_4135),
    inference(clausify,[status(thm)],[f_787_2]) ).

fof(f_788_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_640_exp_Osimps_I222_J]) ).

fof(f_788_2,plain,
    ! [U_4147,U_4146,U_4145,U_4144,U_4143,U_4142,U_4141] : hAPP(exp(U_4147),exp(U_4147),hAPP(exp(U_4147),fun(exp(U_4147),exp(U_4147)),while(U_4147),U_4146),U_4145) != hAPP(exp(U_4147),exp(U_4147),hAPP(U_4147,fun(exp(U_4147),exp(U_4147)),hAPP(list(char),fun(U_4147,fun(exp(U_4147),exp(U_4147))),hAPP(exp(U_4147),fun(list(char),fun(U_4147,fun(exp(U_4147),exp(U_4147)))),tryCatch(U_4147),U_4144),U_4143),U_4142),U_4141),
    inference(variable_rename,[status(thm)],[f_788_1]) ).

cnf(f_788_3,plain,
    hAPP(exp(U_4147),exp(U_4147),hAPP(exp(U_4147),fun(exp(U_4147),exp(U_4147)),while(U_4147),U_4146),U_4145) != hAPP(exp(U_4147),exp(U_4147),hAPP(U_4147,fun(exp(U_4147),exp(U_4147)),hAPP(list(char),fun(U_4147,fun(exp(U_4147),exp(U_4147))),hAPP(exp(U_4147),fun(list(char),fun(U_4147,fun(exp(U_4147),exp(U_4147)))),tryCatch(U_4147),U_4144),U_4143),U_4142),U_4141),
    inference(clausify,[status(thm)],[f_788_2]) ).

fof(f_789_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_641_exp_Osimps_I223_J]) ).

fof(f_789_2,plain,
    ! [U_4154,U_4153,U_4152,U_4151,U_4150,U_4149,U_4148] : hAPP(exp(U_4154),exp(U_4154),hAPP(U_4154,fun(exp(U_4154),exp(U_4154)),hAPP(list(char),fun(U_4154,fun(exp(U_4154),exp(U_4154))),hAPP(exp(U_4154),fun(list(char),fun(U_4154,fun(exp(U_4154),exp(U_4154)))),tryCatch(U_4154),U_4153),U_4152),U_4151),U_4150) != hAPP(exp(U_4154),exp(U_4154),hAPP(exp(U_4154),fun(exp(U_4154),exp(U_4154)),while(U_4154),U_4149),U_4148),
    inference(variable_rename,[status(thm)],[f_789_1]) ).

cnf(f_789_3,plain,
    hAPP(exp(U_4154),exp(U_4154),hAPP(U_4154,fun(exp(U_4154),exp(U_4154)),hAPP(list(char),fun(U_4154,fun(exp(U_4154),exp(U_4154))),hAPP(exp(U_4154),fun(list(char),fun(U_4154,fun(exp(U_4154),exp(U_4154)))),tryCatch(U_4154),U_4153),U_4152),U_4151),U_4150) != hAPP(exp(U_4154),exp(U_4154),hAPP(exp(U_4154),fun(exp(U_4154),exp(U_4154)),while(U_4154),U_4149),U_4148),
    inference(clausify,[status(thm)],[f_789_2]) ).

fof(f_790_1,plain,
    ! [X_a,Exp1_3,Exp2_3,Exp1_2,Exp2_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_3),Exp2_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_2),Exp2_2)
        | Exp2_3 != Exp2_2
        | Exp1_3 != Exp1_2 )
      & ( ( Exp2_3 = Exp2_2
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_3),Exp2_3) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_2),Exp2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_642_exp_Osimps_I13_J]) ).

fof(f_790_2,plain,
    ! [U_4159,U_4158,U_4157,U_4156,U_4155] :
      ( ( hAPP(exp(U_4159),exp(U_4159),hAPP(exp(U_4159),fun(exp(U_4159),exp(U_4159)),while(U_4159),U_4158),U_4157) = hAPP(exp(U_4159),exp(U_4159),hAPP(exp(U_4159),fun(exp(U_4159),exp(U_4159)),while(U_4159),U_4156),U_4155)
        | U_4157 != U_4155
        | U_4158 != U_4156 )
      & ( ( U_4157 = U_4155
          & U_4158 = U_4156 )
        | hAPP(exp(U_4159),exp(U_4159),hAPP(exp(U_4159),fun(exp(U_4159),exp(U_4159)),while(U_4159),U_4158),U_4157) != hAPP(exp(U_4159),exp(U_4159),hAPP(exp(U_4159),fun(exp(U_4159),exp(U_4159)),while(U_4159),U_4156),U_4155) ) ),
    inference(variable_rename,[status(thm)],[f_790_1]) ).

fof(f_790_3,plain,
    ( ! [U_4169,U_4167,U_4165,U_4163,U_4161] :
        ( hAPP(exp(U_4169),exp(U_4169),hAPP(exp(U_4169),fun(exp(U_4169),exp(U_4169)),while(U_4169),U_4167),U_4165) = hAPP(exp(U_4169),exp(U_4169),hAPP(exp(U_4169),fun(exp(U_4169),exp(U_4169)),while(U_4169),U_4163),U_4161)
        | U_4165 != U_4161
        | U_4167 != U_4163 )
    & ! [U_4168,U_4166,U_4164,U_4162,U_4160] :
        ( ( U_4164 = U_4160
          & U_4166 = U_4162 )
        | hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4166),U_4164) != hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4162),U_4160) ) ),
    inference(miniscope,[status(thm)],[f_790_2]) ).

cnf(f_790_4,plain,
    ( U_4166 = U_4162
    | hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4166),U_4164) != hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4162),U_4160) ),
    inference(clausify,[status(thm)],[f_790_3]) ).

cnf(f_790_5,plain,
    ( U_4164 = U_4160
    | hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4166),U_4164) != hAPP(exp(U_4168),exp(U_4168),hAPP(exp(U_4168),fun(exp(U_4168),exp(U_4168)),while(U_4168),U_4162),U_4160) ),
    inference(clausify,[status(thm)],[f_790_3]) ).

cnf(f_790_6,plain,
    ( hAPP(exp(U_4169),exp(U_4169),hAPP(exp(U_4169),fun(exp(U_4169),exp(U_4169)),while(U_4169),U_4167),U_4165) = hAPP(exp(U_4169),exp(U_4169),hAPP(exp(U_4169),fun(exp(U_4169),exp(U_4169)),while(U_4169),U_4163),U_4161)
    | U_4165 != U_4161
    | U_4167 != U_4163 ),
    inference(clausify,[status(thm)],[f_790_3]) ).

fof(f_791_1,plain,
    ! [X_a,Exp_1,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_643_exp_Osimps_I221_J]) ).

fof(f_791_2,plain,
    ! [U_4173,U_4172,U_4171,U_4170] : hAPP(exp(U_4173),exp(U_4173),throw(U_4173),U_4172) != hAPP(exp(U_4173),exp(U_4173),hAPP(exp(U_4173),fun(exp(U_4173),exp(U_4173)),while(U_4173),U_4171),U_4170),
    inference(variable_rename,[status(thm)],[f_791_1]) ).

cnf(f_791_3,plain,
    hAPP(exp(U_4173),exp(U_4173),throw(U_4173),U_4172) != hAPP(exp(U_4173),exp(U_4173),hAPP(exp(U_4173),fun(exp(U_4173),exp(U_4173)),while(U_4173),U_4171),U_4170),
    inference(clausify,[status(thm)],[f_791_2]) ).

fof(f_792_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_644_exp_Osimps_I220_J]) ).

fof(f_792_2,plain,
    ! [U_4177,U_4176,U_4175,U_4174] : hAPP(exp(U_4177),exp(U_4177),hAPP(exp(U_4177),fun(exp(U_4177),exp(U_4177)),while(U_4177),U_4176),U_4175) != hAPP(exp(U_4177),exp(U_4177),throw(U_4177),U_4174),
    inference(variable_rename,[status(thm)],[f_792_1]) ).

cnf(f_792_3,plain,
    hAPP(exp(U_4177),exp(U_4177),hAPP(exp(U_4177),fun(exp(U_4177),exp(U_4177)),while(U_4177),U_4176),U_4175) != hAPP(exp(U_4177),exp(U_4177),throw(U_4177),U_4174),
    inference(clausify,[status(thm)],[f_792_2]) ).

fof(f_793_1,plain,
    ! [X_a,Exp1,Exp2,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_645_exp_Osimps_I89_J]) ).

fof(f_793_2,plain,
    ! [U_4181,U_4180,U_4179,U_4178] : hAPP(exp(U_4181),exp(U_4181),hAPP(exp(U_4181),fun(exp(U_4181),exp(U_4181)),while(U_4181),U_4180),U_4179) != hAPP(val,exp(U_4181),val_1(U_4181),U_4178),
    inference(variable_rename,[status(thm)],[f_793_1]) ).

cnf(f_793_3,plain,
    hAPP(exp(U_4181),exp(U_4181),hAPP(exp(U_4181),fun(exp(U_4181),exp(U_4181)),while(U_4181),U_4180),U_4179) != hAPP(val,exp(U_4181),val_1(U_4181),U_4178),
    inference(clausify,[status(thm)],[f_793_2]) ).

fof(f_794_1,plain,
    ! [X_a,Val,Exp1,Exp2] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_646_exp_Osimps_I88_J]) ).

fof(f_794_2,plain,
    ! [U_4185,U_4184,U_4183,U_4182] : hAPP(val,exp(U_4185),val_1(U_4185),U_4184) != hAPP(exp(U_4185),exp(U_4185),hAPP(exp(U_4185),fun(exp(U_4185),exp(U_4185)),while(U_4185),U_4183),U_4182),
    inference(variable_rename,[status(thm)],[f_794_1]) ).

cnf(f_794_3,plain,
    hAPP(val,exp(U_4185),val_1(U_4185),U_4184) != hAPP(exp(U_4185),exp(U_4185),hAPP(exp(U_4185),fun(exp(U_4185),exp(U_4185)),while(U_4185),U_4183),U_4182),
    inference(clausify,[status(thm)],[f_794_2]) ).

fof(f_795_1,plain,
    ! [C,Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_647_WhileCondThrow]) ).

fof(f_795_2,plain,
    ! [U_4191,U_4190,U_4189,U_4188,U_4187,U_4186] :
      ( 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,U_4190),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4189),U_4191)),U_4188),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4187)),U_4186))
      | ~ 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,U_4190),U_4189),U_4188),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4187)),U_4186)) ),
    inference(variable_rename,[status(thm)],[f_795_1]) ).

cnf(f_795_3,plain,
    ( 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,U_4190),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4189),U_4191)),U_4188),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4187)),U_4186))
    | ~ 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,U_4190),U_4189),U_4188),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4187)),U_4186)) ),
    inference(clausify,[status(thm)],[f_795_2]) ).

fof(f_796_1,plain,
    ! [Y] :
      ( ti(bop,Y) = add
      | ti(bop,Y) = c_Expr_Obop_OEq ),
    inference(fof_nnf,[status(thm)],[fact_648_bop_Oexhaust]) ).

fof(f_796_2,plain,
    ! [U_4192] :
      ( ti(bop,U_4192) = add
      | ti(bop,U_4192) = c_Expr_Obop_OEq ),
    inference(variable_rename,[status(thm)],[f_796_1]) ).

cnf(f_796_3,plain,
    ( ti(bop,U_4192) = add
    | ti(bop,U_4192) = c_Expr_Obop_OEq ),
    inference(clausify,[status(thm)],[f_796_2]) ).

fof(f_797_1,plain,
    add != c_Expr_Obop_OEq,
    inference(fof_nnf,[status(thm)],[fact_649_bop_Osimps_I2_J]) ).

cnf(f_797_2,plain,
    add != c_Expr_Obop_OEq,
    inference(clausify,[status(thm)],[f_797_1]) ).

fof(f_798_1,plain,
    c_Expr_Obop_OEq != add,
    inference(fof_nnf,[status(thm)],[fact_650_bop_Osimps_I1_J]) ).

cnf(f_798_2,plain,
    c_Expr_Obop_OEq != add,
    inference(clausify,[status(thm)],[f_798_1]) ).

fof(f_799_1,plain,
    ! [B,Eb] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),Eb)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,B)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),
    inference(fof_nnf,[status(thm)],[fact_651_fv__fvs_Osimps_I13_J]) ).

fof(f_799_2,plain,
    ! [U_4194,U_4193] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4194),U_4193)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4194)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4193)),
    inference(variable_rename,[status(thm)],[f_799_1]) ).

cnf(f_799_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4194),U_4193)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4194)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4193)),
    inference(clausify,[status(thm)],[f_799_2]) ).

fof(f_800_1,plain,
    ! [E_3,S_3_1,C,V_1_2,S_2_1,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),E_3),S_3_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_2_1),E_3),S_3_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1_2)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_652_WhileT]) ).

fof(f_800_2,plain,
    ! [U_4203,U_4202,U_4201,U_4200,U_4199,U_4198,U_4197,U_4196,U_4195] :
      ( 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,U_4198),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4197),U_4201)),U_4196),U_4203),U_4202))
      | ~ 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,U_4198),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4197),U_4201)),U_4199),U_4203),U_4202))
      | ~ 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,U_4198),U_4201),U_4195),hAPP(val,exp(list(char)),val_1(list(char)),U_4200)),U_4199))
      | ~ 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,U_4198),U_4197),U_4196),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4195)) ),
    inference(variable_rename,[status(thm)],[f_800_1]) ).

cnf(f_800_3,plain,
    ( 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,U_4198),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4197),U_4201)),U_4196),U_4203),U_4202))
    | ~ 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,U_4198),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4197),U_4201)),U_4199),U_4203),U_4202))
    | ~ 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,U_4198),U_4201),U_4195),hAPP(val,exp(list(char)),val_1(list(char)),U_4200)),U_4199))
    | ~ 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,U_4198),U_4197),U_4196),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4195)) ),
    inference(clausify,[status(thm)],[f_800_2]) ).

fof(f_801_1,plain,
    ! [C,E_b,S_2_1,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_653_WhileBodyThrow]) ).

fof(f_801_2,plain,
    ! [U_4210,U_4209,U_4208,U_4207,U_4206,U_4205,U_4204] :
      ( 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,U_4207),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4206),U_4210)),U_4205),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4209)),U_4208))
      | ~ 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,U_4207),U_4210),U_4204),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4209)),U_4208))
      | ~ 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,U_4207),U_4206),U_4205),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4204)) ),
    inference(variable_rename,[status(thm)],[f_801_1]) ).

cnf(f_801_3,plain,
    ( 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,U_4207),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4206),U_4210)),U_4205),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4209)),U_4208))
    | ~ 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,U_4207),U_4210),U_4204),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4209)),U_4208))
    | ~ 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,U_4207),U_4206),U_4205),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4204)) ),
    inference(clausify,[status(thm)],[f_801_2]) ).

fof(f_802_1,plain,
    ! [C,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),Eb),C)),S_0),hAPP(val,exp(list(char)),val_1(list(char)),unit)),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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_654_WhileF]) ).

fof(f_802_2,plain,
    ! [U_4215,U_4214,U_4213,U_4212,U_4211] :
      ( 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,U_4214),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4213),U_4215)),U_4212),hAPP(val,exp(list(char)),val_1(list(char)),unit)),U_4211))
      | ~ 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,U_4214),U_4213),U_4212),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4211)) ),
    inference(variable_rename,[status(thm)],[f_802_1]) ).

cnf(f_802_3,plain,
    ( 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,U_4214),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4213),U_4215)),U_4212),hAPP(val,exp(list(char)),val_1(list(char)),unit)),U_4211))
    | ~ 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,U_4214),U_4213),U_4212),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4211)) ),
    inference(clausify,[status(thm)],[f_802_2]) ).

fof(f_803_1,plain,
    ! [C,B,S,Eb,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_655_WhileRedsThrow]) ).

fof(f_803_2,plain,
    ! [U_4221,U_4220,U_4219,U_4218,U_4217,U_4216] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4220),U_4221)),U_4219)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4218)),U_4217))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4216))))
      | ~ 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)))),U_4220),U_4219)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4218)),U_4217))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4216)))) ),
    inference(variable_rename,[status(thm)],[f_803_1]) ).

cnf(f_803_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4220),U_4221)),U_4219)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4218)),U_4217))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4216))))
    | ~ 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)))),U_4220),U_4219)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4218)),U_4217))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4216)))) ),
    inference(clausify,[status(thm)],[f_803_2]) ).

fof(f_804_1,plain,
    ! [Eb,S_3_1,C,V_1_2,S_2_1,B,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_3_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_2_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)))),Eb),S_3_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C),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_2)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_656_WhileTReds]) ).

fof(f_804_2,plain,
    ! [U_4230,U_4229,U_4228,U_4227,U_4226,U_4225,U_4224,U_4223,U_4222] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4225),U_4228)),U_4224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4230),U_4229))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4225),U_4228)),U_4226)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4230),U_4229))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
      | ~ 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)))),U_4228),U_4223)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_4227)),U_4226))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
      | ~ 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)))),U_4225),U_4224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4223))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222)))) ),
    inference(variable_rename,[status(thm)],[f_804_1]) ).

cnf(f_804_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4225),U_4228)),U_4224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4230),U_4229))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4225),U_4228)),U_4226)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4230),U_4229))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
    | ~ 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)))),U_4228),U_4223)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_4227)),U_4226))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222))))
    | ~ 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)))),U_4225),U_4224)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4223))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4222)))) ),
    inference(clausify,[status(thm)],[f_804_2]) ).

fof(f_805_1,plain,
    ! [C,Eb,S_2_1,B,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),C),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)),throw(list(char)),Eb)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),B),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_657_WhileTRedsThrow]) ).

fof(f_805_2,plain,
    ! [U_4237,U_4236,U_4235,U_4234,U_4233,U_4232,U_4231] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4234),U_4237)),U_4233)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4236)),U_4235))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231))))
      | ~ 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)))),U_4237),U_4232)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4236)),U_4235))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231))))
      | ~ 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)))),U_4234),U_4233)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4232))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231)))) ),
    inference(variable_rename,[status(thm)],[f_805_1]) ).

cnf(f_805_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4234),U_4237)),U_4233)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4236)),U_4235))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231))))
    | ~ 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)))),U_4237),U_4232)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4236)),U_4235))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231))))
    | ~ 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)))),U_4234),U_4233)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4232))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4231)))) ),
    inference(clausify,[status(thm)],[f_805_2]) ).

fof(f_806_1,plain,
    ! [Pa,B,C,S,E_b,S_3] :
      ( ? [S_1_1,E_1] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1_1),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1) )
      | ? [E_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),B),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1) )
      | ? [S_1_1] :
          ( ? [V_1_1,S_2_2] :
              ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S_2_2),E_b),S_3))
              & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),C),S_1_1),hAPP(val,exp(list(char)),val_1(list(char)),V_1_1)),S_2_2)) )
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1)) )
      | ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),B),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_3))
        & E_b = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_658_eval__cases_I11_J]) ).

fof(f_806_2,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4243,U_4242] :
          ( 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,U_4249),U_4247),U_4243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4243))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ? [U_4241] :
          ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241)),U_4244))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241) )
      | ? [U_4240] :
          ( ? [U_4239,U_4238] :
              ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4238),U_4245),U_4244))
              & 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,U_4249),U_4247),U_4240),hAPP(val,exp(list(char)),val_1(list(char)),U_4239)),U_4238)) )
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4240)) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(variable_rename,[status(thm)],[f_806_1]) ).

fof(f_806_3,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4243,U_4242] :
          ( 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,U_4249),U_4247),U_4243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4243))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ? [U_4241] :
          ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241)),U_4244))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241) )
      | ( ? [U_4239,U_4238] :
            ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4238),U_4245),U_4244))
            & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),U_4239)),U_4238)) )
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK167]),skolemize(U_4240,sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_2]) ).

fof(f_806_4,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4243,U_4242] :
          ( 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,U_4249),U_4247),U_4243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4243))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ? [U_4241] :
          ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241)),U_4244))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241) )
      | ( ? [U_4238] :
            ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4238),U_4245),U_4244))
            & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4238)) )
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK168]),skolemize(U_4239,sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_3]) ).

fof(f_806_5,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4243,U_4242] :
          ( 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,U_4249),U_4247),U_4243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4243))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ? [U_4241] :
          ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241)),U_4244))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4241) )
      | ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
        & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK169]),skolemize(U_4238,sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_4]) ).

fof(f_806_6,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4243,U_4242] :
          ( 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,U_4249),U_4247),U_4243),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4243))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
        & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)) )
      | ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
        & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK170]),skolemize(U_4241,sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_5]) ).

fof(f_806_7,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ? [U_4242] :
          ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242)),U_4244))
          & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
          & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4242) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
        & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)) )
      | ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
        & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK171]),skolemize(U_4243,sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_6]) ).

fof(f_806_8,plain,
    ! [U_4249,U_4248,U_4247,U_4246,U_4245,U_4244] :
      ( ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
        & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
        & U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)) )
      | ( 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
        & 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
        & 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))) )
      | ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
        & U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit) )
      | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK172]),skolemize(U_4242,sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))],[f_806_7]) ).

cnf(f_806_9,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_10,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_11,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_12,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_13,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_14,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_15,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_16,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_17,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_18,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_19,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_20,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_21,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_22,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_23,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_24,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_25,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_26,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | U_4245 = hAPP(val,exp(list(char)),val_1(list(char)),unit)
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_27,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_28,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_29,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_30,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_31,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_32,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_33,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_34,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_35,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_36,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_37,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_38,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4247),sK167(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(val,exp(list(char)),val_1(list(char)),sK168(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_39,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_40,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_41,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_42,plain,
    ( U_4245 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_43,plain,
    ( 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

cnf(f_806_44,plain,
    ( 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,U_4249),U_4247),sK171(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK172(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK170(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244))),U_4244))
    | 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),sK169(U_4249,U_4248,U_4247,U_4246,U_4245,U_4244)),U_4245),U_4244))
    | 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,U_4249),U_4248),U_4246),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4244))
    | ~ 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,U_4249),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4248),U_4247)),U_4246),U_4245),U_4244)) ),
    inference(clausify,[status(thm)],[f_806_8]) ).

fof(f_807_1,plain,
    ! [X_a,Wf_md,Pa,C_1] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),object)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1)) ),
    inference(fof_nnf,[status(thm)],[fact_659_subcls__C__Object]) ).

fof(f_807_2,plain,
    ! [U_4253,U_4252,U_4251,U_4250] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4250),object)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4253),U_4251))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),bool,hAPP(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,U_4253)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253))),bool))),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,U_4253)))))))),bool),wf_prog(U_4253),U_4252),U_4251))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),fun(list(char),bool),is_class(U_4253),U_4251),U_4250)) ),
    inference(variable_rename,[status(thm)],[f_807_1]) ).

cnf(f_807_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4250),object)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4253),U_4251))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),bool,hAPP(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,U_4253)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253))),bool))),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,U_4253)))))))),bool),wf_prog(U_4253),U_4252),U_4251))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4253)))))))),fun(list(char),bool),is_class(U_4253),U_4251),U_4250)) ),
    inference(clausify,[status(thm)],[f_807_2]) ).

fof(f_808_1,plain,
    ! [B,C,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),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))),
    inference(fof_nnf,[status(thm)],[fact_660_red__reds_ORedWhile]) ).

fof(f_808_2,plain,
    ! [U_4257,U_4256,U_4255,U_4254] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4257),U_4256)),U_4255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4257),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4256),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4257),U_4256))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4255))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4254))),
    inference(variable_rename,[status(thm)],[f_808_1]) ).

cnf(f_808_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4257),U_4256)),U_4255)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4257),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4256),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4257),U_4256))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4255))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4254))),
    inference(clausify,[status(thm)],[f_808_2]) ).

fof(f_809_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp1,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_661_exp_Osimps_I214_J]) ).

fof(f_809_2,plain,
    ! [U_4263,U_4262,U_4261,U_4260,U_4259,U_4258] : hAPP(exp(U_4263),exp(U_4263),hAPP(exp(U_4263),fun(exp(U_4263),exp(U_4263)),hAPP(exp(U_4263),fun(exp(U_4263),fun(exp(U_4263),exp(U_4263))),cond(U_4263),U_4262),U_4261),U_4260) != hAPP(exp(U_4263),exp(U_4263),hAPP(exp(U_4263),fun(exp(U_4263),exp(U_4263)),while(U_4263),U_4259),U_4258),
    inference(variable_rename,[status(thm)],[f_809_1]) ).

cnf(f_809_3,plain,
    hAPP(exp(U_4263),exp(U_4263),hAPP(exp(U_4263),fun(exp(U_4263),exp(U_4263)),hAPP(exp(U_4263),fun(exp(U_4263),fun(exp(U_4263),exp(U_4263))),cond(U_4263),U_4262),U_4261),U_4260) != hAPP(exp(U_4263),exp(U_4263),hAPP(exp(U_4263),fun(exp(U_4263),exp(U_4263)),while(U_4263),U_4259),U_4258),
    inference(clausify,[status(thm)],[f_809_2]) ).

fof(f_810_1,plain,
    ! [X_a,Exp1,Exp2,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    inference(fof_nnf,[status(thm)],[fact_662_exp_Osimps_I215_J]) ).

fof(f_810_2,plain,
    ! [U_4269,U_4268,U_4267,U_4266,U_4265,U_4264] : hAPP(exp(U_4269),exp(U_4269),hAPP(exp(U_4269),fun(exp(U_4269),exp(U_4269)),while(U_4269),U_4268),U_4267) != hAPP(exp(U_4269),exp(U_4269),hAPP(exp(U_4269),fun(exp(U_4269),exp(U_4269)),hAPP(exp(U_4269),fun(exp(U_4269),fun(exp(U_4269),exp(U_4269))),cond(U_4269),U_4266),U_4265),U_4264),
    inference(variable_rename,[status(thm)],[f_810_1]) ).

cnf(f_810_3,plain,
    hAPP(exp(U_4269),exp(U_4269),hAPP(exp(U_4269),fun(exp(U_4269),exp(U_4269)),while(U_4269),U_4268),U_4267) != hAPP(exp(U_4269),exp(U_4269),hAPP(exp(U_4269),fun(exp(U_4269),exp(U_4269)),hAPP(exp(U_4269),fun(exp(U_4269),fun(exp(U_4269),exp(U_4269))),cond(U_4269),U_4266),U_4265),U_4264),
    inference(clausify,[status(thm)],[f_810_2]) ).

fof(f_811_1,plain,
    ! [E_1_1,E_2,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_663_redp__redsp_OCondRed]) ).

fof(f_811_2,plain,
    ! [U_4276,U_4275,U_4274,U_4273,U_4272,U_4271,U_4270] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4274),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4273),U_4276),U_4275)),U_4272),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4271),U_4276),U_4275)),U_4270))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4274),U_4273),U_4272),U_4271),U_4270)) ),
    inference(variable_rename,[status(thm)],[f_811_1]) ).

cnf(f_811_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4274),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4273),U_4276),U_4275)),U_4272),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4271),U_4276),U_4275)),U_4270))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4274),U_4273),U_4272),U_4271),U_4270)) ),
    inference(clausify,[status(thm)],[f_811_2]) ).

fof(f_812_1,plain,
    ! [X_a,Val,Exp1,Exp2,Exp3] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_664_exp_Osimps_I86_J]) ).

fof(f_812_2,plain,
    ! [U_4281,U_4280,U_4279,U_4278,U_4277] : hAPP(val,exp(U_4281),val_1(U_4281),U_4280) != hAPP(exp(U_4281),exp(U_4281),hAPP(exp(U_4281),fun(exp(U_4281),exp(U_4281)),hAPP(exp(U_4281),fun(exp(U_4281),fun(exp(U_4281),exp(U_4281))),cond(U_4281),U_4279),U_4278),U_4277),
    inference(variable_rename,[status(thm)],[f_812_1]) ).

cnf(f_812_3,plain,
    hAPP(val,exp(U_4281),val_1(U_4281),U_4280) != hAPP(exp(U_4281),exp(U_4281),hAPP(exp(U_4281),fun(exp(U_4281),exp(U_4281)),hAPP(exp(U_4281),fun(exp(U_4281),fun(exp(U_4281),exp(U_4281))),cond(U_4281),U_4279),U_4278),U_4277),
    inference(clausify,[status(thm)],[f_812_2]) ).

fof(f_813_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Val] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_665_exp_Osimps_I87_J]) ).

fof(f_813_2,plain,
    ! [U_4286,U_4285,U_4284,U_4283,U_4282] : hAPP(exp(U_4286),exp(U_4286),hAPP(exp(U_4286),fun(exp(U_4286),exp(U_4286)),hAPP(exp(U_4286),fun(exp(U_4286),fun(exp(U_4286),exp(U_4286))),cond(U_4286),U_4285),U_4284),U_4283) != hAPP(val,exp(U_4286),val_1(U_4286),U_4282),
    inference(variable_rename,[status(thm)],[f_813_1]) ).

cnf(f_813_3,plain,
    hAPP(exp(U_4286),exp(U_4286),hAPP(exp(U_4286),fun(exp(U_4286),exp(U_4286)),hAPP(exp(U_4286),fun(exp(U_4286),fun(exp(U_4286),exp(U_4286))),cond(U_4286),U_4285),U_4284),U_4283) != hAPP(val,exp(U_4286),val_1(U_4286),U_4282),
    inference(clausify,[status(thm)],[f_813_2]) ).

fof(f_814_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_666_exp_Osimps_I216_J]) ).

fof(f_814_2,plain,
    ! [U_4291,U_4290,U_4289,U_4288,U_4287] : hAPP(exp(U_4291),exp(U_4291),hAPP(exp(U_4291),fun(exp(U_4291),exp(U_4291)),hAPP(exp(U_4291),fun(exp(U_4291),fun(exp(U_4291),exp(U_4291))),cond(U_4291),U_4290),U_4289),U_4288) != hAPP(exp(U_4291),exp(U_4291),throw(U_4291),U_4287),
    inference(variable_rename,[status(thm)],[f_814_1]) ).

cnf(f_814_3,plain,
    hAPP(exp(U_4291),exp(U_4291),hAPP(exp(U_4291),fun(exp(U_4291),exp(U_4291)),hAPP(exp(U_4291),fun(exp(U_4291),fun(exp(U_4291),exp(U_4291))),cond(U_4291),U_4290),U_4289),U_4288) != hAPP(exp(U_4291),exp(U_4291),throw(U_4291),U_4287),
    inference(clausify,[status(thm)],[f_814_2]) ).

fof(f_815_1,plain,
    ! [X_a,Exp_1,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    inference(fof_nnf,[status(thm)],[fact_667_exp_Osimps_I217_J]) ).

fof(f_815_2,plain,
    ! [U_4296,U_4295,U_4294,U_4293,U_4292] : hAPP(exp(U_4296),exp(U_4296),throw(U_4296),U_4295) != hAPP(exp(U_4296),exp(U_4296),hAPP(exp(U_4296),fun(exp(U_4296),exp(U_4296)),hAPP(exp(U_4296),fun(exp(U_4296),fun(exp(U_4296),exp(U_4296))),cond(U_4296),U_4294),U_4293),U_4292),
    inference(variable_rename,[status(thm)],[f_815_1]) ).

cnf(f_815_3,plain,
    hAPP(exp(U_4296),exp(U_4296),throw(U_4296),U_4295) != hAPP(exp(U_4296),exp(U_4296),hAPP(exp(U_4296),fun(exp(U_4296),exp(U_4296)),hAPP(exp(U_4296),fun(exp(U_4296),fun(exp(U_4296),exp(U_4296))),cond(U_4296),U_4294),U_4293),U_4292),
    inference(clausify,[status(thm)],[f_815_2]) ).

fof(f_816_1,plain,
    ! [X_a,Exp1_3,Exp2_3,Exp3_3,Exp1_2,Exp2_2,Exp3_2] :
      ( ( hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_3),Exp2_3),Exp3_3) = hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_2),Exp2_2),Exp3_2)
        | Exp3_3 != Exp3_2
        | Exp2_3 != Exp2_2
        | Exp1_3 != Exp1_2 )
      & ( ( Exp3_3 = Exp3_2
          & Exp2_3 = Exp2_2
          & Exp1_3 = Exp1_2 )
        | hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_3),Exp2_3),Exp3_3) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_2),Exp2_2),Exp3_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_668_exp_Osimps_I12_J]) ).

fof(f_816_2,plain,
    ! [U_4303,U_4302,U_4301,U_4300,U_4299,U_4298,U_4297] :
      ( ( hAPP(exp(U_4303),exp(U_4303),hAPP(exp(U_4303),fun(exp(U_4303),exp(U_4303)),hAPP(exp(U_4303),fun(exp(U_4303),fun(exp(U_4303),exp(U_4303))),cond(U_4303),U_4302),U_4301),U_4300) = hAPP(exp(U_4303),exp(U_4303),hAPP(exp(U_4303),fun(exp(U_4303),exp(U_4303)),hAPP(exp(U_4303),fun(exp(U_4303),fun(exp(U_4303),exp(U_4303))),cond(U_4303),U_4299),U_4298),U_4297)
        | U_4300 != U_4297
        | U_4301 != U_4298
        | U_4302 != U_4299 )
      & ( ( U_4300 = U_4297
          & U_4301 = U_4298
          & U_4302 = U_4299 )
        | hAPP(exp(U_4303),exp(U_4303),hAPP(exp(U_4303),fun(exp(U_4303),exp(U_4303)),hAPP(exp(U_4303),fun(exp(U_4303),fun(exp(U_4303),exp(U_4303))),cond(U_4303),U_4302),U_4301),U_4300) != hAPP(exp(U_4303),exp(U_4303),hAPP(exp(U_4303),fun(exp(U_4303),exp(U_4303)),hAPP(exp(U_4303),fun(exp(U_4303),fun(exp(U_4303),exp(U_4303))),cond(U_4303),U_4299),U_4298),U_4297) ) ),
    inference(variable_rename,[status(thm)],[f_816_1]) ).

fof(f_816_3,plain,
    ( ! [U_4317,U_4315,U_4313,U_4311,U_4309,U_4307,U_4305] :
        ( hAPP(exp(U_4317),exp(U_4317),hAPP(exp(U_4317),fun(exp(U_4317),exp(U_4317)),hAPP(exp(U_4317),fun(exp(U_4317),fun(exp(U_4317),exp(U_4317))),cond(U_4317),U_4315),U_4313),U_4311) = hAPP(exp(U_4317),exp(U_4317),hAPP(exp(U_4317),fun(exp(U_4317),exp(U_4317)),hAPP(exp(U_4317),fun(exp(U_4317),fun(exp(U_4317),exp(U_4317))),cond(U_4317),U_4309),U_4307),U_4305)
        | U_4311 != U_4305
        | U_4313 != U_4307
        | U_4315 != U_4309 )
    & ! [U_4316,U_4314,U_4312,U_4310,U_4308,U_4306,U_4304] :
        ( ( U_4310 = U_4304
          & U_4312 = U_4306
          & U_4314 = U_4308 )
        | hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4314),U_4312),U_4310) != hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4308),U_4306),U_4304) ) ),
    inference(miniscope,[status(thm)],[f_816_2]) ).

cnf(f_816_4,plain,
    ( U_4314 = U_4308
    | hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4314),U_4312),U_4310) != hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4308),U_4306),U_4304) ),
    inference(clausify,[status(thm)],[f_816_3]) ).

cnf(f_816_5,plain,
    ( U_4312 = U_4306
    | hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4314),U_4312),U_4310) != hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4308),U_4306),U_4304) ),
    inference(clausify,[status(thm)],[f_816_3]) ).

cnf(f_816_6,plain,
    ( U_4310 = U_4304
    | hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4314),U_4312),U_4310) != hAPP(exp(U_4316),exp(U_4316),hAPP(exp(U_4316),fun(exp(U_4316),exp(U_4316)),hAPP(exp(U_4316),fun(exp(U_4316),fun(exp(U_4316),exp(U_4316))),cond(U_4316),U_4308),U_4306),U_4304) ),
    inference(clausify,[status(thm)],[f_816_3]) ).

cnf(f_816_7,plain,
    ( hAPP(exp(U_4317),exp(U_4317),hAPP(exp(U_4317),fun(exp(U_4317),exp(U_4317)),hAPP(exp(U_4317),fun(exp(U_4317),fun(exp(U_4317),exp(U_4317))),cond(U_4317),U_4315),U_4313),U_4311) = hAPP(exp(U_4317),exp(U_4317),hAPP(exp(U_4317),fun(exp(U_4317),exp(U_4317)),hAPP(exp(U_4317),fun(exp(U_4317),fun(exp(U_4317),exp(U_4317))),cond(U_4317),U_4309),U_4307),U_4305)
    | U_4311 != U_4305
    | U_4313 != U_4307
    | U_4315 != U_4309 ),
    inference(clausify,[status(thm)],[f_816_3]) ).

fof(f_817_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp1_1,Exp2_1,Exp3_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1),
    inference(fof_nnf,[status(thm)],[fact_669_exp_Osimps_I219_J]) ).

fof(f_817_2,plain,
    ! [U_4325,U_4324,U_4323,U_4322,U_4321,U_4320,U_4319,U_4318] : hAPP(exp(U_4325),exp(U_4325),hAPP(U_4325,fun(exp(U_4325),exp(U_4325)),hAPP(list(char),fun(U_4325,fun(exp(U_4325),exp(U_4325))),hAPP(exp(U_4325),fun(list(char),fun(U_4325,fun(exp(U_4325),exp(U_4325)))),tryCatch(U_4325),U_4324),U_4323),U_4322),U_4321) != hAPP(exp(U_4325),exp(U_4325),hAPP(exp(U_4325),fun(exp(U_4325),exp(U_4325)),hAPP(exp(U_4325),fun(exp(U_4325),fun(exp(U_4325),exp(U_4325))),cond(U_4325),U_4320),U_4319),U_4318),
    inference(variable_rename,[status(thm)],[f_817_1]) ).

cnf(f_817_3,plain,
    hAPP(exp(U_4325),exp(U_4325),hAPP(U_4325,fun(exp(U_4325),exp(U_4325)),hAPP(list(char),fun(U_4325,fun(exp(U_4325),exp(U_4325))),hAPP(exp(U_4325),fun(list(char),fun(U_4325,fun(exp(U_4325),exp(U_4325)))),tryCatch(U_4325),U_4324),U_4323),U_4322),U_4321) != hAPP(exp(U_4325),exp(U_4325),hAPP(exp(U_4325),fun(exp(U_4325),exp(U_4325)),hAPP(exp(U_4325),fun(exp(U_4325),fun(exp(U_4325),exp(U_4325))),cond(U_4325),U_4320),U_4319),U_4318),
    inference(clausify,[status(thm)],[f_817_2]) ).

fof(f_818_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp3_1,Exp1,List_3,A_6,Exp2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1_1),Exp2_1),Exp3_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_670_exp_Osimps_I218_J]) ).

fof(f_818_2,plain,
    ! [U_4333,U_4332,U_4331,U_4330,U_4329,U_4328,U_4327,U_4326] : hAPP(exp(U_4333),exp(U_4333),hAPP(exp(U_4333),fun(exp(U_4333),exp(U_4333)),hAPP(exp(U_4333),fun(exp(U_4333),fun(exp(U_4333),exp(U_4333))),cond(U_4333),U_4332),U_4331),U_4330) != hAPP(exp(U_4333),exp(U_4333),hAPP(U_4333,fun(exp(U_4333),exp(U_4333)),hAPP(list(char),fun(U_4333,fun(exp(U_4333),exp(U_4333))),hAPP(exp(U_4333),fun(list(char),fun(U_4333,fun(exp(U_4333),exp(U_4333)))),tryCatch(U_4333),U_4329),U_4328),U_4327),U_4326),
    inference(variable_rename,[status(thm)],[f_818_1]) ).

cnf(f_818_3,plain,
    hAPP(exp(U_4333),exp(U_4333),hAPP(exp(U_4333),fun(exp(U_4333),exp(U_4333)),hAPP(exp(U_4333),fun(exp(U_4333),fun(exp(U_4333),exp(U_4333))),cond(U_4333),U_4332),U_4331),U_4330) != hAPP(exp(U_4333),exp(U_4333),hAPP(U_4333,fun(exp(U_4333),exp(U_4333)),hAPP(list(char),fun(U_4333,fun(exp(U_4333),exp(U_4333))),hAPP(exp(U_4333),fun(list(char),fun(U_4333,fun(exp(U_4333),exp(U_4333)))),tryCatch(U_4333),U_4329),U_4328),U_4327),U_4326),
    inference(clausify,[status(thm)],[f_818_2]) ).

fof(f_819_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2,Exp3] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_671_exp_Osimps_I162_J]) ).

fof(f_819_2,plain,
    ! [U_4340,U_4339,U_4338,U_4337,U_4336,U_4335,U_4334] : hAPP(list(char),exp(U_4340),hAPP(list(char),fun(list(char),exp(U_4340)),hAPP(exp(U_4340),fun(list(char),fun(list(char),exp(U_4340))),fAcc(U_4340),U_4339),U_4338),U_4337) != hAPP(exp(U_4340),exp(U_4340),hAPP(exp(U_4340),fun(exp(U_4340),exp(U_4340)),hAPP(exp(U_4340),fun(exp(U_4340),fun(exp(U_4340),exp(U_4340))),cond(U_4340),U_4336),U_4335),U_4334),
    inference(variable_rename,[status(thm)],[f_819_1]) ).

cnf(f_819_3,plain,
    hAPP(list(char),exp(U_4340),hAPP(list(char),fun(list(char),exp(U_4340)),hAPP(exp(U_4340),fun(list(char),fun(list(char),exp(U_4340))),fAcc(U_4340),U_4339),U_4338),U_4337) != hAPP(exp(U_4340),exp(U_4340),hAPP(exp(U_4340),fun(exp(U_4340),exp(U_4340)),hAPP(exp(U_4340),fun(exp(U_4340),fun(exp(U_4340),exp(U_4340))),cond(U_4340),U_4336),U_4335),U_4334),
    inference(clausify,[status(thm)],[f_819_2]) ).

fof(f_820_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_672_exp_Osimps_I163_J]) ).

fof(f_820_2,plain,
    ! [U_4347,U_4346,U_4345,U_4344,U_4343,U_4342,U_4341] : hAPP(exp(U_4347),exp(U_4347),hAPP(exp(U_4347),fun(exp(U_4347),exp(U_4347)),hAPP(exp(U_4347),fun(exp(U_4347),fun(exp(U_4347),exp(U_4347))),cond(U_4347),U_4346),U_4345),U_4344) != hAPP(list(char),exp(U_4347),hAPP(list(char),fun(list(char),exp(U_4347)),hAPP(exp(U_4347),fun(list(char),fun(list(char),exp(U_4347))),fAcc(U_4347),U_4343),U_4342),U_4341),
    inference(variable_rename,[status(thm)],[f_820_1]) ).

cnf(f_820_3,plain,
    hAPP(exp(U_4347),exp(U_4347),hAPP(exp(U_4347),fun(exp(U_4347),exp(U_4347)),hAPP(exp(U_4347),fun(exp(U_4347),fun(exp(U_4347),exp(U_4347))),cond(U_4347),U_4346),U_4345),U_4344) != hAPP(list(char),exp(U_4347),hAPP(list(char),fun(list(char),exp(U_4347)),hAPP(exp(U_4347),fun(list(char),fun(list(char),exp(U_4347))),fAcc(U_4347),U_4343),U_4342),U_4341),
    inference(clausify,[status(thm)],[f_820_2]) ).

fof(f_821_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,List_2,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_673_exp_Osimps_I63_J]) ).

fof(f_821_2,plain,
    ! [U_4353,U_4352,U_4351,U_4350,U_4349,U_4348] : hAPP(exp(U_4353),exp(U_4353),hAPP(exp(U_4353),fun(exp(U_4353),exp(U_4353)),hAPP(exp(U_4353),fun(exp(U_4353),fun(exp(U_4353),exp(U_4353))),cond(U_4353),U_4352),U_4351),U_4350) != hAPP(exp(U_4353),exp(U_4353),hAPP(list(char),fun(exp(U_4353),exp(U_4353)),cast(U_4353),U_4349),U_4348),
    inference(variable_rename,[status(thm)],[f_821_1]) ).

cnf(f_821_3,plain,
    hAPP(exp(U_4353),exp(U_4353),hAPP(exp(U_4353),fun(exp(U_4353),exp(U_4353)),hAPP(exp(U_4353),fun(exp(U_4353),fun(exp(U_4353),exp(U_4353))),cond(U_4353),U_4352),U_4351),U_4350) != hAPP(exp(U_4353),exp(U_4353),hAPP(list(char),fun(exp(U_4353),exp(U_4353)),cast(U_4353),U_4349),U_4348),
    inference(clausify,[status(thm)],[f_821_2]) ).

fof(f_822_1,plain,
    ! [X_a,List_2,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_674_exp_Osimps_I62_J]) ).

fof(f_822_2,plain,
    ! [U_4359,U_4358,U_4357,U_4356,U_4355,U_4354] : hAPP(exp(U_4359),exp(U_4359),hAPP(list(char),fun(exp(U_4359),exp(U_4359)),cast(U_4359),U_4358),U_4357) != hAPP(exp(U_4359),exp(U_4359),hAPP(exp(U_4359),fun(exp(U_4359),exp(U_4359)),hAPP(exp(U_4359),fun(exp(U_4359),fun(exp(U_4359),exp(U_4359))),cond(U_4359),U_4356),U_4355),U_4354),
    inference(variable_rename,[status(thm)],[f_822_1]) ).

cnf(f_822_3,plain,
    hAPP(exp(U_4359),exp(U_4359),hAPP(list(char),fun(exp(U_4359),exp(U_4359)),cast(U_4359),U_4358),U_4357) != hAPP(exp(U_4359),exp(U_4359),hAPP(exp(U_4359),fun(exp(U_4359),exp(U_4359)),hAPP(exp(U_4359),fun(exp(U_4359),fun(exp(U_4359),exp(U_4359))),cond(U_4359),U_4356),U_4355),U_4354),
    inference(clausify,[status(thm)],[f_822_2]) ).

fof(f_823_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_675_exp_Osimps_I108_J]) ).

fof(f_823_2,plain,
    ! [U_4366,U_4365,U_4364,U_4363,U_4362,U_4361,U_4360] : hAPP(exp(U_4366),exp(U_4366),hAPP(bop,fun(exp(U_4366),exp(U_4366)),hAPP(exp(U_4366),fun(bop,fun(exp(U_4366),exp(U_4366))),binOp(U_4366),U_4365),U_4364),U_4363) != hAPP(exp(U_4366),exp(U_4366),hAPP(exp(U_4366),fun(exp(U_4366),exp(U_4366)),hAPP(exp(U_4366),fun(exp(U_4366),fun(exp(U_4366),exp(U_4366))),cond(U_4366),U_4362),U_4361),U_4360),
    inference(variable_rename,[status(thm)],[f_823_1]) ).

cnf(f_823_3,plain,
    hAPP(exp(U_4366),exp(U_4366),hAPP(bop,fun(exp(U_4366),exp(U_4366)),hAPP(exp(U_4366),fun(bop,fun(exp(U_4366),exp(U_4366))),binOp(U_4366),U_4365),U_4364),U_4363) != hAPP(exp(U_4366),exp(U_4366),hAPP(exp(U_4366),fun(exp(U_4366),exp(U_4366)),hAPP(exp(U_4366),fun(exp(U_4366),fun(exp(U_4366),exp(U_4366))),cond(U_4366),U_4362),U_4361),U_4360),
    inference(clausify,[status(thm)],[f_823_2]) ).

fof(f_824_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,Bop,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_676_exp_Osimps_I109_J]) ).

fof(f_824_2,plain,
    ! [U_4373,U_4372,U_4371,U_4370,U_4369,U_4368,U_4367] : hAPP(exp(U_4373),exp(U_4373),hAPP(exp(U_4373),fun(exp(U_4373),exp(U_4373)),hAPP(exp(U_4373),fun(exp(U_4373),fun(exp(U_4373),exp(U_4373))),cond(U_4373),U_4372),U_4371),U_4370) != hAPP(exp(U_4373),exp(U_4373),hAPP(bop,fun(exp(U_4373),exp(U_4373)),hAPP(exp(U_4373),fun(bop,fun(exp(U_4373),exp(U_4373))),binOp(U_4373),U_4369),U_4368),U_4367),
    inference(variable_rename,[status(thm)],[f_824_1]) ).

cnf(f_824_3,plain,
    hAPP(exp(U_4373),exp(U_4373),hAPP(exp(U_4373),fun(exp(U_4373),exp(U_4373)),hAPP(exp(U_4373),fun(exp(U_4373),fun(exp(U_4373),exp(U_4373))),cond(U_4373),U_4372),U_4371),U_4370) != hAPP(exp(U_4373),exp(U_4373),hAPP(bop,fun(exp(U_4373),exp(U_4373)),hAPP(exp(U_4373),fun(bop,fun(exp(U_4373),exp(U_4373))),binOp(U_4373),U_4369),U_4368),U_4367),
    inference(clausify,[status(thm)],[f_824_2]) ).

fof(f_825_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,A_5,Ty_1,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp),
    inference(fof_nnf,[status(thm)],[fact_677_exp_Osimps_I199_J]) ).

fof(f_825_2,plain,
    ! [U_4380,U_4379,U_4378,U_4377,U_4376,U_4375,U_4374] : hAPP(exp(U_4380),exp(U_4380),hAPP(exp(U_4380),fun(exp(U_4380),exp(U_4380)),hAPP(exp(U_4380),fun(exp(U_4380),fun(exp(U_4380),exp(U_4380))),cond(U_4380),U_4379),U_4378),U_4377) != hAPP(exp(U_4380),exp(U_4380),hAPP(ty,fun(exp(U_4380),exp(U_4380)),hAPP(U_4380,fun(ty,fun(exp(U_4380),exp(U_4380))),block(U_4380),U_4376),U_4375),U_4374),
    inference(variable_rename,[status(thm)],[f_825_1]) ).

cnf(f_825_3,plain,
    hAPP(exp(U_4380),exp(U_4380),hAPP(exp(U_4380),fun(exp(U_4380),exp(U_4380)),hAPP(exp(U_4380),fun(exp(U_4380),fun(exp(U_4380),exp(U_4380))),cond(U_4380),U_4379),U_4378),U_4377) != hAPP(exp(U_4380),exp(U_4380),hAPP(ty,fun(exp(U_4380),exp(U_4380)),hAPP(U_4380,fun(ty,fun(exp(U_4380),exp(U_4380))),block(U_4380),U_4376),U_4375),U_4374),
    inference(clausify,[status(thm)],[f_825_2]) ).

fof(f_826_1,plain,
    ! [X_a,A_5,Ty_1,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_5),Ty_1),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_678_exp_Osimps_I198_J]) ).

fof(f_826_2,plain,
    ! [U_4387,U_4386,U_4385,U_4384,U_4383,U_4382,U_4381] : hAPP(exp(U_4387),exp(U_4387),hAPP(ty,fun(exp(U_4387),exp(U_4387)),hAPP(U_4387,fun(ty,fun(exp(U_4387),exp(U_4387))),block(U_4387),U_4386),U_4385),U_4384) != hAPP(exp(U_4387),exp(U_4387),hAPP(exp(U_4387),fun(exp(U_4387),exp(U_4387)),hAPP(exp(U_4387),fun(exp(U_4387),fun(exp(U_4387),exp(U_4387))),cond(U_4387),U_4383),U_4382),U_4381),
    inference(variable_rename,[status(thm)],[f_826_1]) ).

cnf(f_826_3,plain,
    hAPP(exp(U_4387),exp(U_4387),hAPP(ty,fun(exp(U_4387),exp(U_4387)),hAPP(U_4387,fun(ty,fun(exp(U_4387),exp(U_4387))),block(U_4387),U_4386),U_4385),U_4384) != hAPP(exp(U_4387),exp(U_4387),hAPP(exp(U_4387),fun(exp(U_4387),exp(U_4387)),hAPP(exp(U_4387),fun(exp(U_4387),fun(exp(U_4387),exp(U_4387))),cond(U_4387),U_4383),U_4382),U_4381),
    inference(clausify,[status(thm)],[f_826_2]) ).

fof(f_827_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_679_exp_Osimps_I176_J]) ).

fof(f_827_2,plain,
    ! [U_4395,U_4394,U_4393,U_4392,U_4391,U_4390,U_4389,U_4388] : hAPP(exp(U_4395),exp(U_4395),hAPP(list(char),fun(exp(U_4395),exp(U_4395)),hAPP(list(char),fun(list(char),fun(exp(U_4395),exp(U_4395))),hAPP(exp(U_4395),fun(list(char),fun(list(char),fun(exp(U_4395),exp(U_4395)))),fAss(U_4395),U_4394),U_4393),U_4392),U_4391) != hAPP(exp(U_4395),exp(U_4395),hAPP(exp(U_4395),fun(exp(U_4395),exp(U_4395)),hAPP(exp(U_4395),fun(exp(U_4395),fun(exp(U_4395),exp(U_4395))),cond(U_4395),U_4390),U_4389),U_4388),
    inference(variable_rename,[status(thm)],[f_827_1]) ).

cnf(f_827_3,plain,
    hAPP(exp(U_4395),exp(U_4395),hAPP(list(char),fun(exp(U_4395),exp(U_4395)),hAPP(list(char),fun(list(char),fun(exp(U_4395),exp(U_4395))),hAPP(exp(U_4395),fun(list(char),fun(list(char),fun(exp(U_4395),exp(U_4395)))),fAss(U_4395),U_4394),U_4393),U_4392),U_4391) != hAPP(exp(U_4395),exp(U_4395),hAPP(exp(U_4395),fun(exp(U_4395),exp(U_4395)),hAPP(exp(U_4395),fun(exp(U_4395),fun(exp(U_4395),exp(U_4395))),cond(U_4395),U_4390),U_4389),U_4388),
    inference(clausify,[status(thm)],[f_827_2]) ).

fof(f_828_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,List1,List2,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_680_exp_Osimps_I177_J]) ).

fof(f_828_2,plain,
    ! [U_4403,U_4402,U_4401,U_4400,U_4399,U_4398,U_4397,U_4396] : hAPP(exp(U_4403),exp(U_4403),hAPP(exp(U_4403),fun(exp(U_4403),exp(U_4403)),hAPP(exp(U_4403),fun(exp(U_4403),fun(exp(U_4403),exp(U_4403))),cond(U_4403),U_4402),U_4401),U_4400) != hAPP(exp(U_4403),exp(U_4403),hAPP(list(char),fun(exp(U_4403),exp(U_4403)),hAPP(list(char),fun(list(char),fun(exp(U_4403),exp(U_4403))),hAPP(exp(U_4403),fun(list(char),fun(list(char),fun(exp(U_4403),exp(U_4403)))),fAss(U_4403),U_4399),U_4398),U_4397),U_4396),
    inference(variable_rename,[status(thm)],[f_828_1]) ).

cnf(f_828_3,plain,
    hAPP(exp(U_4403),exp(U_4403),hAPP(exp(U_4403),fun(exp(U_4403),exp(U_4403)),hAPP(exp(U_4403),fun(exp(U_4403),fun(exp(U_4403),exp(U_4403))),cond(U_4403),U_4402),U_4401),U_4400) != hAPP(exp(U_4403),exp(U_4403),hAPP(list(char),fun(exp(U_4403),exp(U_4403)),hAPP(list(char),fun(list(char),fun(exp(U_4403),exp(U_4403))),hAPP(exp(U_4403),fun(list(char),fun(list(char),fun(exp(U_4403),exp(U_4403)))),fAss(U_4403),U_4399),U_4398),U_4397),U_4396),
    inference(clausify,[status(thm)],[f_828_2]) ).

fof(f_829_1,plain,
    ! [X_a,Exp1_1,Exp2_1,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_681_exp_Osimps_I206_J]) ).

fof(f_829_2,plain,
    ! [U_4409,U_4408,U_4407,U_4406,U_4405,U_4404] : hAPP(exp(U_4409),exp(U_4409),hAPP(exp(U_4409),fun(exp(U_4409),exp(U_4409)),seq(U_4409),U_4408),U_4407) != hAPP(exp(U_4409),exp(U_4409),hAPP(exp(U_4409),fun(exp(U_4409),exp(U_4409)),hAPP(exp(U_4409),fun(exp(U_4409),fun(exp(U_4409),exp(U_4409))),cond(U_4409),U_4406),U_4405),U_4404),
    inference(variable_rename,[status(thm)],[f_829_1]) ).

cnf(f_829_3,plain,
    hAPP(exp(U_4409),exp(U_4409),hAPP(exp(U_4409),fun(exp(U_4409),exp(U_4409)),seq(U_4409),U_4408),U_4407) != hAPP(exp(U_4409),exp(U_4409),hAPP(exp(U_4409),fun(exp(U_4409),exp(U_4409)),hAPP(exp(U_4409),fun(exp(U_4409),fun(exp(U_4409),exp(U_4409))),cond(U_4409),U_4406),U_4405),U_4404),
    inference(clausify,[status(thm)],[f_829_2]) ).

fof(f_830_1,plain,
    ! [X_a,A_5,Exp,Exp1,Exp2,Exp3] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_682_exp_Osimps_I146_J]) ).

fof(f_830_2,plain,
    ! [U_4415,U_4414,U_4413,U_4412,U_4411,U_4410] : hAPP(exp(U_4415),exp(U_4415),hAPP(U_4415,fun(exp(U_4415),exp(U_4415)),lAss(U_4415),U_4414),U_4413) != hAPP(exp(U_4415),exp(U_4415),hAPP(exp(U_4415),fun(exp(U_4415),exp(U_4415)),hAPP(exp(U_4415),fun(exp(U_4415),fun(exp(U_4415),exp(U_4415))),cond(U_4415),U_4412),U_4411),U_4410),
    inference(variable_rename,[status(thm)],[f_830_1]) ).

cnf(f_830_3,plain,
    hAPP(exp(U_4415),exp(U_4415),hAPP(U_4415,fun(exp(U_4415),exp(U_4415)),lAss(U_4415),U_4414),U_4413) != hAPP(exp(U_4415),exp(U_4415),hAPP(exp(U_4415),fun(exp(U_4415),exp(U_4415)),hAPP(exp(U_4415),fun(exp(U_4415),fun(exp(U_4415),exp(U_4415))),cond(U_4415),U_4412),U_4411),U_4410),
    inference(clausify,[status(thm)],[f_830_2]) ).

fof(f_831_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Exp1_1,Exp2_1] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1_1),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_683_exp_Osimps_I207_J]) ).

fof(f_831_2,plain,
    ! [U_4421,U_4420,U_4419,U_4418,U_4417,U_4416] : hAPP(exp(U_4421),exp(U_4421),hAPP(exp(U_4421),fun(exp(U_4421),exp(U_4421)),hAPP(exp(U_4421),fun(exp(U_4421),fun(exp(U_4421),exp(U_4421))),cond(U_4421),U_4420),U_4419),U_4418) != hAPP(exp(U_4421),exp(U_4421),hAPP(exp(U_4421),fun(exp(U_4421),exp(U_4421)),seq(U_4421),U_4417),U_4416),
    inference(variable_rename,[status(thm)],[f_831_1]) ).

cnf(f_831_3,plain,
    hAPP(exp(U_4421),exp(U_4421),hAPP(exp(U_4421),fun(exp(U_4421),exp(U_4421)),hAPP(exp(U_4421),fun(exp(U_4421),fun(exp(U_4421),exp(U_4421))),cond(U_4421),U_4420),U_4419),U_4418) != hAPP(exp(U_4421),exp(U_4421),hAPP(exp(U_4421),fun(exp(U_4421),exp(U_4421)),seq(U_4421),U_4417),U_4416),
    inference(clausify,[status(thm)],[f_831_2]) ).

fof(f_832_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,A_5,Exp] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_684_exp_Osimps_I147_J]) ).

fof(f_832_2,plain,
    ! [U_4427,U_4426,U_4425,U_4424,U_4423,U_4422] : hAPP(exp(U_4427),exp(U_4427),hAPP(exp(U_4427),fun(exp(U_4427),exp(U_4427)),hAPP(exp(U_4427),fun(exp(U_4427),fun(exp(U_4427),exp(U_4427))),cond(U_4427),U_4426),U_4425),U_4424) != hAPP(exp(U_4427),exp(U_4427),hAPP(U_4427,fun(exp(U_4427),exp(U_4427)),lAss(U_4427),U_4423),U_4422),
    inference(variable_rename,[status(thm)],[f_832_1]) ).

cnf(f_832_3,plain,
    hAPP(exp(U_4427),exp(U_4427),hAPP(exp(U_4427),fun(exp(U_4427),exp(U_4427)),hAPP(exp(U_4427),fun(exp(U_4427),fun(exp(U_4427),exp(U_4427))),cond(U_4427),U_4426),U_4425),U_4424) != hAPP(exp(U_4427),exp(U_4427),hAPP(U_4427,fun(exp(U_4427),exp(U_4427)),lAss(U_4427),U_4423),U_4422),
    inference(clausify,[status(thm)],[f_832_2]) ).

fof(f_833_1,plain,
    ! [E_1_1,E_2,Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_685_eval__evals_OCondThrow]) ).

fof(f_833_2,plain,
    ! [U_4434,U_4433,U_4432,U_4431,U_4430,U_4429,U_4428] :
      ( 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,U_4432),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4431),U_4434),U_4433)),U_4430),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4429)),U_4428))
      | ~ 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,U_4432),U_4431),U_4430),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4429)),U_4428)) ),
    inference(variable_rename,[status(thm)],[f_833_1]) ).

cnf(f_833_3,plain,
    ( 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,U_4432),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4431),U_4434),U_4433)),U_4430),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4429)),U_4428))
    | ~ 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,U_4432),U_4431),U_4430),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4429)),U_4428)) ),
    inference(clausify,[status(thm)],[f_833_2]) ).

fof(f_834_1,plain,
    ! [Pa,Eb,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_1_1),E_2)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_686_redp__redsp_OCondThrow]) ).

fof(f_834_2,plain,
    ! [U_4439,U_4438,U_4437,U_4436,U_4435] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4439),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4438)),U_4437),U_4436)),U_4435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4438)),U_4435)),
    inference(variable_rename,[status(thm)],[f_834_1]) ).

cnf(f_834_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4439),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4438)),U_4437),U_4436)),U_4435),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4438)),U_4435)),
    inference(clausify,[status(thm)],[f_834_2]) ).

fof(f_835_1,plain,
    ! [B,E_1_1,E_2] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),E_1_1),E_2)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,B)),hAPP(exp(list(char)),fun(list(char),bool),fv,E_1_1))),hAPP(exp(list(char)),fun(list(char),bool),fv,E_2)),
    inference(fof_nnf,[status(thm)],[fact_687_fv__fvs_Osimps_I12_J]) ).

fof(f_835_2,plain,
    ! [U_4442,U_4441,U_4440] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4442),U_4441),U_4440)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4442)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4441))),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4440)),
    inference(variable_rename,[status(thm)],[f_835_1]) ).

cnf(f_835_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4442),U_4441),U_4440)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4442)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4441))),hAPP(exp(list(char)),fun(list(char),bool),fv,U_4440)),
    inference(clausify,[status(thm)],[f_835_2]) ).

fof(f_836_1,plain,
    ! [E_1_1,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_688_red__reds_OCondRed]) ).

fof(f_836_2,plain,
    ! [U_4449,U_4448,U_4447,U_4446,U_4445,U_4444,U_4443] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4447),U_4449),U_4448)),U_4446)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4445),U_4449),U_4448)),U_4444))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4443)))
      | ~ 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)))),U_4447),U_4446)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4445),U_4444))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4443))) ),
    inference(variable_rename,[status(thm)],[f_836_1]) ).

cnf(f_836_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4447),U_4449),U_4448)),U_4446)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4445),U_4449),U_4448)),U_4444))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4443)))
    | ~ 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)))),U_4447),U_4446)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4445),U_4444))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4443))) ),
    inference(clausify,[status(thm)],[f_836_2]) ).

fof(f_837_1,plain,
    ! [E_1_1,E_2,E_b,S_2_1,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),E_b),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1),E_b),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_689_CondF]) ).

fof(f_837_2,plain,
    ! [U_4457,U_4456,U_4455,U_4454,U_4453,U_4452,U_4451,U_4450] :
      ( 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,U_4453),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4452),U_4457),U_4456)),U_4451),U_4455),U_4454))
      | ~ 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,U_4453),U_4456),U_4450),U_4455),U_4454))
      | ~ 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,U_4453),U_4452),U_4451),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4450)) ),
    inference(variable_rename,[status(thm)],[f_837_1]) ).

cnf(f_837_3,plain,
    ( 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,U_4453),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4452),U_4457),U_4456)),U_4451),U_4455),U_4454))
    | ~ 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,U_4453),U_4456),U_4450),U_4455),U_4454))
    | ~ 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,U_4453),U_4452),U_4451),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4450)) ),
    inference(clausify,[status(thm)],[f_837_2]) ).

fof(f_838_1,plain,
    ! [E_2,E_1_1,E_b,S_2_1,Pa,Eb,S_0,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0),E_b),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_1),E_b),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_690_CondT]) ).

fof(f_838_2,plain,
    ! [U_4465,U_4464,U_4463,U_4462,U_4461,U_4460,U_4459,U_4458] :
      ( 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,U_4461),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4460),U_4464),U_4465)),U_4459),U_4463),U_4462))
      | ~ 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,U_4461),U_4464),U_4458),U_4463),U_4462))
      | ~ 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,U_4461),U_4460),U_4459),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4458)) ),
    inference(variable_rename,[status(thm)],[f_838_1]) ).

cnf(f_838_3,plain,
    ( 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,U_4461),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4460),U_4464),U_4465)),U_4459),U_4463),U_4462))
    | ~ 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,U_4461),U_4464),U_4458),U_4463),U_4462))
    | ~ 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,U_4461),U_4460),U_4459),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4458)) ),
    inference(clausify,[status(thm)],[f_838_2]) ).

fof(f_839_1,plain,
    ! [X_a,Wf_md,Pa] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),object))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_691_is__class__Object]) ).

fof(f_839_2,plain,
    ! [U_4468,U_4467,U_4466] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468)))))))),fun(list(char),bool),is_class(U_4468),U_4466),object))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468)))))))),bool,hAPP(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,U_4468)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468))),bool))),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,U_4468)))))))),bool),wf_prog(U_4468),U_4467),U_4466)) ),
    inference(variable_rename,[status(thm)],[f_839_1]) ).

cnf(f_839_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468)))))))),fun(list(char),bool),is_class(U_4468),U_4466),object))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468)))))))),bool,hAPP(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,U_4468)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4468))),bool))),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,U_4468)))))))),bool),wf_prog(U_4468),U_4467),U_4466)) ),
    inference(clausify,[status(thm)],[f_839_2]) ).

fof(f_840_1,plain,
    ! [Pa,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),E_1_1),E_2)),S),E_2),S)),
    inference(fof_nnf,[status(thm)],[fact_692_redp__redsp_ORedCondF]) ).

fof(f_840_2,plain,
    ! [U_4472,U_4471,U_4470,U_4469] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4472),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4471),U_4470)),U_4469),U_4470),U_4469)),
    inference(variable_rename,[status(thm)],[f_840_1]) ).

cnf(f_840_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4472),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4471),U_4470)),U_4469),U_4470),U_4469)),
    inference(clausify,[status(thm)],[f_840_2]) ).

fof(f_841_1,plain,
    ! [Pa,E_1_1,E_2,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),E_1_1),E_2)),S),E_1_1),S)),
    inference(fof_nnf,[status(thm)],[fact_693_redp__redsp_ORedCondT]) ).

fof(f_841_2,plain,
    ! [U_4476,U_4475,U_4474,U_4473] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4476),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4475),U_4474)),U_4473),U_4475),U_4473)),
    inference(variable_rename,[status(thm)],[f_841_1]) ).

cnf(f_841_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4476),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4475),U_4474)),U_4473),U_4475),U_4473)),
    inference(clausify,[status(thm)],[f_841_2]) ).

fof(f_842_1,plain,
    ! [Eb,E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_694_red__reds_OCondThrow]) ).

fof(f_842_2,plain,
    ! [U_4481,U_4480,U_4479,U_4478,U_4477] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4481)),U_4480),U_4479)),U_4478)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4481)),U_4478))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4477))),
    inference(variable_rename,[status(thm)],[f_842_1]) ).

cnf(f_842_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4481)),U_4480),U_4479)),U_4478)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4481)),U_4478))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4477))),
    inference(clausify,[status(thm)],[f_842_2]) ).

fof(f_843_1,plain,
    ! [E_1_1,E_2,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),E_b),E_1_1),E_2)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_695_CondReds]) ).

fof(f_843_2,plain,
    ! [U_4488,U_4487,U_4486,U_4485,U_4484,U_4483,U_4482] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4486),U_4488),U_4487)),U_4485)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4484),U_4488),U_4487)),U_4483))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4482))))
      | ~ 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)))),U_4486),U_4485)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4484),U_4483))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4482)))) ),
    inference(variable_rename,[status(thm)],[f_843_1]) ).

cnf(f_843_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4486),U_4488),U_4487)),U_4485)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4484),U_4488),U_4487)),U_4483))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4482))))
    | ~ 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)))),U_4486),U_4485)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4484),U_4483))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4482)))) ),
    inference(clausify,[status(thm)],[f_843_2]) ).

fof(f_844_1,plain,
    ! [E_1_1,E_2,Eb,S,A_1,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_696_CondRedsThrow]) ).

fof(f_844_2,plain,
    ! [U_4495,U_4494,U_4493,U_4492,U_4491,U_4490,U_4489] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4493),U_4495),U_4494)),U_4492)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4491)),U_4490))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4489))))
      | ~ 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)))),U_4493),U_4492)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4491)),U_4490))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4489)))) ),
    inference(variable_rename,[status(thm)],[f_844_1]) ).

cnf(f_844_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4493),U_4495),U_4494)),U_4492)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4491)),U_4490))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4489))))
    | ~ 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)))),U_4493),U_4492)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4491)),U_4490))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4489)))) ),
    inference(clausify,[status(thm)],[f_844_2]) ).

fof(f_845_1,plain,
    ! [E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_697_red__reds_ORedCondT]) ).

fof(f_845_2,plain,
    ! [U_4499,U_4498,U_4497,U_4496] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4499),U_4498)),U_4497)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4499),U_4497))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4496))),
    inference(variable_rename,[status(thm)],[f_845_1]) ).

cnf(f_845_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4499),U_4498)),U_4497)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4499),U_4497))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4496))),
    inference(clausify,[status(thm)],[f_845_2]) ).

fof(f_846_1,plain,
    ! [E_1_1,E_2,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),E_1_1),E_2)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),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))),
    inference(fof_nnf,[status(thm)],[fact_698_red__reds_ORedCondF]) ).

fof(f_846_2,plain,
    ! [U_4503,U_4502,U_4501,U_4500] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4503),U_4502)),U_4501)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4502),U_4501))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4500))),
    inference(variable_rename,[status(thm)],[f_846_1]) ).

cnf(f_846_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4503),U_4502)),U_4501)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4502),U_4501))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4500))),
    inference(clausify,[status(thm)],[f_846_2]) ).

fof(f_847_1,plain,
    ! [Pa,B,C,S,E_b,S_3] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),E_b),S_3))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),S),E_b),S_3)) )
      & ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),S),E_b),S_3))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),E_b),S_3)) ) ),
    inference(fof_nnf,[status(thm)],[fact_699_unfold__while]) ).

fof(f_847_2,plain,
    ! [U_4509,U_4508,U_4507,U_4506,U_4505,U_4504] :
      ( ( 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,U_4509),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4508),U_4507)),U_4506),U_4505),U_4504))
        | ~ 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,U_4509),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4508),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4507),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4508),U_4507))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4506),U_4505),U_4504)) )
      & ( 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,U_4509),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4508),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4507),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4508),U_4507))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4506),U_4505),U_4504))
        | ~ 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,U_4509),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4508),U_4507)),U_4506),U_4505),U_4504)) ) ),
    inference(variable_rename,[status(thm)],[f_847_1]) ).

fof(f_847_3,plain,
    ( ! [U_4521,U_4519,U_4517,U_4515,U_4513,U_4511] :
        ( 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,U_4521),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4519),U_4517)),U_4515),U_4513),U_4511))
        | ~ 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,U_4521),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4519),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4517),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4519),U_4517))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4515),U_4513),U_4511)) )
    & ! [U_4520,U_4518,U_4516,U_4514,U_4512,U_4510] :
        ( 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,U_4520),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4518),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4516),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4518),U_4516))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4514),U_4512),U_4510))
        | ~ 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,U_4520),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4518),U_4516)),U_4514),U_4512),U_4510)) ) ),
    inference(miniscope,[status(thm)],[f_847_2]) ).

cnf(f_847_4,plain,
    ( 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,U_4520),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4518),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4516),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4518),U_4516))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4514),U_4512),U_4510))
    | ~ 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,U_4520),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4518),U_4516)),U_4514),U_4512),U_4510)) ),
    inference(clausify,[status(thm)],[f_847_3]) ).

cnf(f_847_5,plain,
    ( 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,U_4521),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4519),U_4517)),U_4515),U_4513),U_4511))
    | ~ 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,U_4521),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4519),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4517),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4519),U_4517))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4515),U_4513),U_4511)) ),
    inference(clausify,[status(thm)],[f_847_3]) ).

fof(f_848_1,plain,
    ! [Pa,B,C,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C)),S),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),B),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),C),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),B),C))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),S)),
    inference(fof_nnf,[status(thm)],[fact_700_redp__redsp_ORedWhile]) ).

fof(f_848_2,plain,
    ! [U_4525,U_4524,U_4523,U_4522] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4525),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4524),U_4523)),U_4522),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4524),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4523),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4524),U_4523))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4522)),
    inference(variable_rename,[status(thm)],[f_848_1]) ).

cnf(f_848_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4525),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4524),U_4523)),U_4522),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4524),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),U_4523),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),while(list(char)),U_4524),U_4523))),hAPP(val,exp(list(char)),val_1(list(char)),unit))),U_4522)),
    inference(clausify,[status(thm)],[f_848_2]) ).

fof(f_849_1,plain,
    ! [E_2,E_1_1,E_b,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_1_1),S_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_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_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)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_701_CondReds2T]) ).

fof(f_849_2,plain,
    ! [U_4533,U_4532,U_4531,U_4530,U_4529,U_4528,U_4527,U_4526] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4529),U_4532),U_4533)),U_4528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4531),U_4530))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526))))
      | ~ 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)))),U_4532),U_4527)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4531),U_4530))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526))))
      | ~ 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)))),U_4529),U_4528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4527))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526)))) ),
    inference(variable_rename,[status(thm)],[f_849_1]) ).

cnf(f_849_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4529),U_4532),U_4533)),U_4528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4531),U_4530))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526))))
    | ~ 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)))),U_4532),U_4527)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4531),U_4530))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526))))
    | ~ 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)))),U_4529),U_4528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4527))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4526)))) ),
    inference(clausify,[status(thm)],[f_849_2]) ).

fof(f_850_1,plain,
    ! [E_1_1,E_2,E_b,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_2),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_b),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_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)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_702_CondReds2F]) ).

fof(f_850_2,plain,
    ! [U_4541,U_4540,U_4539,U_4538,U_4537,U_4536,U_4535,U_4534] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4537),U_4541),U_4540)),U_4536)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4539),U_4538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534))))
      | ~ 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)))),U_4540),U_4535)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4539),U_4538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534))))
      | ~ 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)))),U_4537),U_4536)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4535))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534)))) ),
    inference(variable_rename,[status(thm)],[f_850_1]) ).

cnf(f_850_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4537),U_4541),U_4540)),U_4536)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4539),U_4538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534))))
    | ~ 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)))),U_4540),U_4535)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_4539),U_4538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534))))
    | ~ 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)))),U_4537),U_4536)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4535))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_4534)))) ),
    inference(clausify,[status(thm)],[f_850_2]) ).

fof(f_851_1,plain,
    ! [X_a,Q_1,C_1,Wf_md,Pa] :
      ( hBOOL(hAPP(list(char),bool,Q_1,C_1))
      | ? [C_2,D_1] :
          ( ~ hBOOL(hAPP(list(char),bool,Q_1,C_2))
          & hBOOL(hAPP(list(char),bool,Q_1,D_1))
          & hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),D_1))
          & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
          & C_2 != object )
      | ~ hBOOL(hAPP(list(char),bool,Q_1,object))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_703_subcls1__induct]) ).

fof(f_851_2,plain,
    ! [U_4548,U_4547,U_4546,U_4545,U_4544] :
      ( hBOOL(hAPP(list(char),bool,U_4547,U_4546))
      | ? [U_4543,U_4542] :
          ( ~ hBOOL(hAPP(list(char),bool,U_4547,U_4543))
          & hBOOL(hAPP(list(char),bool,U_4547,U_4542))
          & hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4542))
          & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4543),U_4542)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4548),U_4544)))
          & U_4543 != object )
      | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(variable_rename,[status(thm)],[f_851_1]) ).

fof(f_851_3,plain,
    ! [U_4548,U_4547,U_4546,U_4545,U_4544] :
      ( hBOOL(hAPP(list(char),bool,U_4547,U_4546))
      | ? [U_4543] :
          ( ? [U_4542] :
              ( ~ hBOOL(hAPP(list(char),bool,U_4547,U_4543))
              & hBOOL(hAPP(list(char),bool,U_4547,U_4542))
              & hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4542))
              & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4543),U_4542)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4548),U_4544))) )
          & U_4543 != object )
      | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(miniscope,[status(thm)],[f_851_2]) ).

fof(f_851_4,plain,
    ! [U_4548,U_4547,U_4546,U_4545,U_4544] :
      ( hBOOL(hAPP(list(char),bool,U_4547,U_4546))
      | ( ? [U_4542] :
            ( ~ hBOOL(hAPP(list(char),bool,U_4547,sK173(U_4548,U_4547,U_4546,U_4545,U_4544)))
            & hBOOL(hAPP(list(char),bool,U_4547,U_4542))
            & hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4542))
            & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK173(U_4548,U_4547,U_4546,U_4545,U_4544)),U_4542)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4548),U_4544))) )
        & sK173(U_4548,U_4547,U_4546,U_4545,U_4544) != object )
      | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK173]),skolemize(U_4543,sK173(U_4548,U_4547,U_4546,U_4545,U_4544))],[f_851_3]) ).

fof(f_851_5,plain,
    ! [U_4548,U_4547,U_4546,U_4545,U_4544] :
      ( hBOOL(hAPP(list(char),bool,U_4547,U_4546))
      | ( ~ hBOOL(hAPP(list(char),bool,U_4547,sK173(U_4548,U_4547,U_4546,U_4545,U_4544)))
        & hBOOL(hAPP(list(char),bool,U_4547,sK174(U_4548,U_4547,U_4546,U_4545,U_4544)))
        & hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),sK174(U_4548,U_4547,U_4546,U_4545,U_4544)))
        & hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK173(U_4548,U_4547,U_4546,U_4545,U_4544)),sK174(U_4548,U_4547,U_4546,U_4545,U_4544))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4548),U_4544)))
        & sK173(U_4548,U_4547,U_4546,U_4545,U_4544) != object )
      | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK174]),skolemize(U_4542,sK174(U_4548,U_4547,U_4546,U_4545,U_4544))],[f_851_4]) ).

cnf(f_851_6,plain,
    ( sK173(U_4548,U_4547,U_4546,U_4545,U_4544) != object
    | hBOOL(hAPP(list(char),bool,U_4547,U_4546))
    | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(clausify,[status(thm)],[f_851_5]) ).

cnf(f_851_7,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK173(U_4548,U_4547,U_4546,U_4545,U_4544)),sK174(U_4548,U_4547,U_4546,U_4545,U_4544))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4548),U_4544)))
    | hBOOL(hAPP(list(char),bool,U_4547,U_4546))
    | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(clausify,[status(thm)],[f_851_5]) ).

cnf(f_851_8,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),sK174(U_4548,U_4547,U_4546,U_4545,U_4544)))
    | hBOOL(hAPP(list(char),bool,U_4547,U_4546))
    | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(clausify,[status(thm)],[f_851_5]) ).

cnf(f_851_9,plain,
    ( hBOOL(hAPP(list(char),bool,U_4547,sK174(U_4548,U_4547,U_4546,U_4545,U_4544)))
    | hBOOL(hAPP(list(char),bool,U_4547,U_4546))
    | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(clausify,[status(thm)],[f_851_5]) ).

cnf(f_851_10,plain,
    ( ~ hBOOL(hAPP(list(char),bool,U_4547,sK173(U_4548,U_4547,U_4546,U_4545,U_4544)))
    | hBOOL(hAPP(list(char),bool,U_4547,U_4546))
    | ~ hBOOL(hAPP(list(char),bool,U_4547,object))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),fun(list(char),bool),is_class(U_4548),U_4544),U_4546))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548)))))))),bool,hAPP(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,U_4548)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4548))),bool))),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,U_4548)))))))),bool),wf_prog(U_4548),U_4545),U_4544)) ),
    inference(clausify,[status(thm)],[f_851_5]) ).

fof(f_852_1,plain,
    ! [X_a,Wf_md,Pa,C_1,D_2,R_2] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),D_2))
      | C_1 = object
      | ~ hBOOL(hAPP(product_prod(list(char),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))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool)),wf_cdecl(X_a),Wf_md),Pa),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),R_2)))) ),
    inference(fof_nnf,[status(thm)],[fact_704_wf__cdecl__supD]) ).

fof(f_852_2,plain,
    ! [U_4554,U_4553,U_4552,U_4551,U_4550,U_4549] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(list(char),bool),is_class(U_4554),U_4552),U_4550))
      | U_4551 = object
      | ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool),hAPP(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,U_4554)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))),bool))),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,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool)),wf_cdecl(U_4554),U_4553),U_4552),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),U_4551),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),U_4550),U_4549)))) ),
    inference(variable_rename,[status(thm)],[f_852_1]) ).

fof(f_852_3,plain,
    ! [U_4554,U_4553,U_4552,U_4551,U_4550] :
      ( ! [U_4549] : ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool),hAPP(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,U_4554)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))),bool))),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,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool)),wf_cdecl(U_4554),U_4553),U_4552),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),U_4551),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),U_4550),U_4549))))
      | hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(list(char),bool),is_class(U_4554),U_4552),U_4550))
      | U_4551 = object ),
    inference(miniscope,[status(thm)],[f_852_2]) ).

cnf(f_852_4,plain,
    ( ~ hBOOL(hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool),hAPP(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,U_4554)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))),bool))),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,U_4554)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),bool)),wf_cdecl(U_4554),U_4553),U_4552),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),U_4551),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))),U_4550),U_4549))))
    | hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4554)))))))),fun(list(char),bool),is_class(U_4554),U_4552),U_4550))
    | U_4551 = object ),
    inference(clausify,[status(thm)],[f_852_3]) ).

fof(f_853_1,plain,
    ! [X_a,Pa,Ta,C_1] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),Ta),hAPP(list(char),ty,class,C_1)))
        | ( ! [D_1] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
              | Ta != hAPP(list(char),ty,class,D_1) )
          & Ta != nt ) )
      & ( ? [D_1] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
            & Ta = hAPP(list(char),ty,class,D_1) )
        | Ta = nt
        | ~ 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),hAPP(list(char),ty,class,C_1))) ) ),
    inference(fof_nnf,[status(thm)],[fact_705_widen__Class]) ).

fof(f_853_2,plain,
    ! [U_4560,U_4559,U_4558,U_4557] :
      ( ( 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,U_4560)))))))),fun(ty,fun(ty,bool)),widen(U_4560),U_4559),U_4558),hAPP(list(char),ty,class,U_4557)))
        | ( ! [U_4556] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4556),U_4557)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4560)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4560),U_4559))))
              | U_4558 != hAPP(list(char),ty,class,U_4556) )
          & U_4558 != nt ) )
      & ( ? [U_4555] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4555),U_4557)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4560)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4560),U_4559))))
            & U_4558 = hAPP(list(char),ty,class,U_4555) )
        | U_4558 = nt
        | ~ 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,U_4560)))))))),fun(ty,fun(ty,bool)),widen(U_4560),U_4559),U_4558),hAPP(list(char),ty,class,U_4557))) ) ),
    inference(variable_rename,[status(thm)],[f_853_1]) ).

fof(f_853_3,plain,
    ( ! [U_4568,U_4566,U_4564,U_4562] :
        ( 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,U_4568)))))))),fun(ty,fun(ty,bool)),widen(U_4568),U_4566),U_4564),hAPP(list(char),ty,class,U_4562)))
        | ( ! [U_4556] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4556),U_4562)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4568)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4568),U_4566))))
              | U_4564 != hAPP(list(char),ty,class,U_4556) )
          & U_4564 != nt ) )
    & ! [U_4567,U_4565,U_4563,U_4561] :
        ( ? [U_4555] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4555),U_4561)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4567)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4567),U_4565))))
            & U_4563 = hAPP(list(char),ty,class,U_4555) )
        | U_4563 = nt
        | ~ 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,U_4567)))))))),fun(ty,fun(ty,bool)),widen(U_4567),U_4565),U_4563),hAPP(list(char),ty,class,U_4561))) ) ),
    inference(miniscope,[status(thm)],[f_853_2]) ).

fof(f_853_4,plain,
    ( ! [U_4568,U_4566,U_4564,U_4562] :
        ( 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,U_4568)))))))),fun(ty,fun(ty,bool)),widen(U_4568),U_4566),U_4564),hAPP(list(char),ty,class,U_4562)))
        | ( ! [U_4556] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4556),U_4562)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4568)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4568),U_4566))))
              | U_4564 != hAPP(list(char),ty,class,U_4556) )
          & U_4564 != nt ) )
    & ! [U_4567,U_4565,U_4563,U_4561] :
        ( ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK175(U_4567,U_4565,U_4563,U_4561)),U_4561)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4567)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4567),U_4565))))
          & U_4563 = hAPP(list(char),ty,class,sK175(U_4567,U_4565,U_4563,U_4561)) )
        | U_4563 = nt
        | ~ 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,U_4567)))))))),fun(ty,fun(ty,bool)),widen(U_4567),U_4565),U_4563),hAPP(list(char),ty,class,U_4561))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK175]),skolemize(U_4555,sK175(U_4567,U_4565,U_4563,U_4561))],[f_853_3]) ).

cnf(f_853_5,plain,
    ( U_4563 = hAPP(list(char),ty,class,sK175(U_4567,U_4565,U_4563,U_4561))
    | U_4563 = nt
    | ~ 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,U_4567)))))))),fun(ty,fun(ty,bool)),widen(U_4567),U_4565),U_4563),hAPP(list(char),ty,class,U_4561))) ),
    inference(clausify,[status(thm)],[f_853_4]) ).

cnf(f_853_6,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK175(U_4567,U_4565,U_4563,U_4561)),U_4561)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4567)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4567),U_4565))))
    | U_4563 = nt
    | ~ 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,U_4567)))))))),fun(ty,fun(ty,bool)),widen(U_4567),U_4565),U_4563),hAPP(list(char),ty,class,U_4561))) ),
    inference(clausify,[status(thm)],[f_853_4]) ).

cnf(f_853_7,plain,
    ( U_4564 != nt
    | 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,U_4568)))))))),fun(ty,fun(ty,bool)),widen(U_4568),U_4566),U_4564),hAPP(list(char),ty,class,U_4562))) ),
    inference(clausify,[status(thm)],[f_853_4]) ).

cnf(f_853_8,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4556),U_4562)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4568)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4568),U_4566))))
    | U_4564 != hAPP(list(char),ty,class,U_4556)
    | 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,U_4568)))))))),fun(ty,fun(ty,bool)),widen(U_4568),U_4566),U_4564),hAPP(list(char),ty,class,U_4562))) ),
    inference(clausify,[status(thm)],[f_853_4]) ).

fof(f_854_1,plain,
    ! [X_m,P,C_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),nt),hAPP(list(char),ty,class,C_4))),
    inference(fof_nnf,[status(thm)],[fact_706_widen__null]) ).

fof(f_854_2,plain,
    ! [U_4571,U_4570,U_4569] : 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,U_4571)))))))),fun(ty,fun(ty,bool)),widen(U_4571),U_4570),nt),hAPP(list(char),ty,class,U_4569))),
    inference(variable_rename,[status(thm)],[f_854_1]) ).

cnf(f_854_3,plain,
    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,U_4571)))))))),fun(ty,fun(ty,bool)),widen(U_4571),U_4570),nt),hAPP(list(char),ty,class,U_4569))),
    inference(clausify,[status(thm)],[f_854_2]) ).

fof(f_855_1,plain,
    ! [List_3] : nt != hAPP(list(char),ty,class,List_3),
    inference(fof_nnf,[status(thm)],[fact_707_ty_Osimps_I20_J]) ).

fof(f_855_2,plain,
    ! [U_4572] : nt != hAPP(list(char),ty,class,U_4572),
    inference(variable_rename,[status(thm)],[f_855_1]) ).

cnf(f_855_3,plain,
    nt != hAPP(list(char),ty,class,U_4572),
    inference(clausify,[status(thm)],[f_855_2]) ).

fof(f_856_1,plain,
    ! [List_3] : hAPP(list(char),ty,class,List_3) != nt,
    inference(fof_nnf,[status(thm)],[fact_708_ty_Osimps_I21_J]) ).

fof(f_856_2,plain,
    ! [U_4573] : hAPP(list(char),ty,class,U_4573) != nt,
    inference(variable_rename,[status(thm)],[f_856_1]) ).

cnf(f_856_3,plain,
    hAPP(list(char),ty,class,U_4573) != nt,
    inference(clausify,[status(thm)],[f_856_2]) ).

fof(f_857_1,plain,
    nt != void,
    inference(fof_nnf,[status(thm)],[fact_709_ty_Osimps_I7_J]) ).

cnf(f_857_2,plain,
    nt != void,
    inference(clausify,[status(thm)],[f_857_1]) ).

fof(f_858_1,plain,
    void != nt,
    inference(fof_nnf,[status(thm)],[fact_710_ty_Osimps_I6_J]) ).

cnf(f_858_2,plain,
    void != nt,
    inference(clausify,[status(thm)],[f_858_1]) ).

fof(f_859_1,plain,
    ! [F_1,D_2,Ta,Pa,Hb,Ea,Eb] :
      ( 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_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),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_1,Pa),Hb),Ea),Eb),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_711_WTrtFAccNT]) ).

fof(f_859_2,plain,
    ! [U_4580,U_4579,U_4578,U_4577,U_4576,U_4575,U_4574] :
      ( 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_1,U_4577),U_4576),U_4575),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4574),U_4580),U_4579)),U_4578))
      | ~ 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_1,U_4577),U_4576),U_4575),U_4574),nt)) ),
    inference(variable_rename,[status(thm)],[f_859_1]) ).

cnf(f_859_3,plain,
    ( 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_1,U_4577),U_4576),U_4575),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4574),U_4580),U_4579)),U_4578))
    | ~ 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_1,U_4577),U_4576),U_4575),U_4574),nt)) ),
    inference(clausify,[status(thm)],[f_859_2]) ).

fof(f_860_1,plain,
    ! [F_1,D_2,Ta,Pa,Hb,Ea,Eb] :
      ( 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),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),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),Hb),Ea),Eb),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_712_WTrt_H__WTrts_H_Ointros_I9_J]) ).

fof(f_860_2,plain,
    ! [U_4587,U_4586,U_4585,U_4584,U_4583,U_4582,U_4581] :
      ( 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,U_4584),U_4583),U_4582),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4581),U_4587),U_4586)),U_4585))
      | ~ 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,U_4584),U_4583),U_4582),U_4581),nt)) ),
    inference(variable_rename,[status(thm)],[f_860_1]) ).

cnf(f_860_3,plain,
    ( 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,U_4584),U_4583),U_4582),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4581),U_4587),U_4586)),U_4585))
    | ~ 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,U_4584),U_4583),U_4582),U_4581),nt)) ),
    inference(clausify,[status(thm)],[f_860_2]) ).

fof(f_861_1,plain,
    ! [X_a,Pa,Hb,Va] :
      ( ( 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),Hb),Va),nt))
        | Va != null )
      & ( Va = null
        | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),Va),nt)) ) ),
    inference(fof_nnf,[status(thm)],[fact_713_conf__NT]) ).

fof(f_861_2,plain,
    ! [U_4591,U_4590,U_4589,U_4588] :
      ( ( 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,U_4591)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4591),U_4590),U_4589),U_4588),nt))
        | U_4588 != null )
      & ( U_4588 = null
        | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4591)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4591),U_4590),U_4589),U_4588),nt)) ) ),
    inference(variable_rename,[status(thm)],[f_861_1]) ).

fof(f_861_3,plain,
    ( ! [U_4599,U_4597,U_4595,U_4593] :
        ( 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,U_4599)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4599),U_4597),U_4595),U_4593),nt))
        | U_4593 != null )
    & ! [U_4598,U_4596,U_4594,U_4592] :
        ( U_4592 = null
        | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4598)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4598),U_4596),U_4594),U_4592),nt)) ) ),
    inference(miniscope,[status(thm)],[f_861_2]) ).

cnf(f_861_4,plain,
    ( U_4592 = null
    | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4598)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4598),U_4596),U_4594),U_4592),nt)) ),
    inference(clausify,[status(thm)],[f_861_3]) ).

cnf(f_861_5,plain,
    ( 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,U_4599)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4599),U_4597),U_4595),U_4593),nt))
    | U_4593 != null ),
    inference(clausify,[status(thm)],[f_861_3]) ).

fof(f_862_1,plain,
    ! [Ta] :
      ( ( hBOOL(hAPP(ty,bool,is_refT,Ta))
        | ( ! [C_2] : Ta != hAPP(list(char),ty,class,C_2)
          & Ta != nt ) )
      & ( ? [C_2] : Ta = hAPP(list(char),ty,class,C_2)
        | Ta = nt
        | ~ hBOOL(hAPP(ty,bool,is_refT,Ta)) ) ),
    inference(fof_nnf,[status(thm)],[fact_714_is__refT__def]) ).

fof(f_862_2,plain,
    ! [U_4602] :
      ( ( hBOOL(hAPP(ty,bool,is_refT,U_4602))
        | ( ! [U_4601] : U_4602 != hAPP(list(char),ty,class,U_4601)
          & U_4602 != nt ) )
      & ( ? [U_4600] : U_4602 = hAPP(list(char),ty,class,U_4600)
        | U_4602 = nt
        | ~ hBOOL(hAPP(ty,bool,is_refT,U_4602)) ) ),
    inference(variable_rename,[status(thm)],[f_862_1]) ).

fof(f_862_3,plain,
    ( ! [U_4604] :
        ( hBOOL(hAPP(ty,bool,is_refT,U_4604))
        | ( ! [U_4601] : U_4604 != hAPP(list(char),ty,class,U_4601)
          & U_4604 != nt ) )
    & ! [U_4603] :
        ( ? [U_4600] : U_4603 = hAPP(list(char),ty,class,U_4600)
        | U_4603 = nt
        | ~ hBOOL(hAPP(ty,bool,is_refT,U_4603)) ) ),
    inference(miniscope,[status(thm)],[f_862_2]) ).

fof(f_862_4,plain,
    ( ! [U_4604] :
        ( hBOOL(hAPP(ty,bool,is_refT,U_4604))
        | ( ! [U_4601] : U_4604 != hAPP(list(char),ty,class,U_4601)
          & U_4604 != nt ) )
    & ! [U_4603] :
        ( U_4603 = hAPP(list(char),ty,class,sK176(U_4603))
        | U_4603 = nt
        | ~ hBOOL(hAPP(ty,bool,is_refT,U_4603)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK176]),skolemize(U_4600,sK176(U_4603))],[f_862_3]) ).

cnf(f_862_5,plain,
    ( U_4603 = hAPP(list(char),ty,class,sK176(U_4603))
    | U_4603 = nt
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_4603)) ),
    inference(clausify,[status(thm)],[f_862_4]) ).

cnf(f_862_6,plain,
    ( U_4604 != nt
    | hBOOL(hAPP(ty,bool,is_refT,U_4604)) ),
    inference(clausify,[status(thm)],[f_862_4]) ).

cnf(f_862_7,plain,
    ( U_4604 != hAPP(list(char),ty,class,U_4601)
    | hBOOL(hAPP(ty,bool,is_refT,U_4604)) ),
    inference(clausify,[status(thm)],[f_862_4]) ).

fof(f_863_1,plain,
    ! [F_1,D_2,E_2,T_2_2,Pa,Hb,Ea,E_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void))
      | ~ 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_1,Pa),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),E_1_1),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_715_WTrtFAssNT]) ).

fof(f_863_2,plain,
    ! [U_4612,U_4611,U_4610,U_4609,U_4608,U_4607,U_4606,U_4605] :
      ( 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_1,U_4608),U_4607),U_4606),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4605),U_4612),U_4611),U_4610)),void))
      | ~ 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_1,U_4608),U_4607),U_4606),U_4610),U_4609))
      | ~ 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_1,U_4608),U_4607),U_4606),U_4605),nt)) ),
    inference(variable_rename,[status(thm)],[f_863_1]) ).

cnf(f_863_3,plain,
    ( 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_1,U_4608),U_4607),U_4606),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4605),U_4612),U_4611),U_4610)),void))
    | ~ 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_1,U_4608),U_4607),U_4606),U_4610),U_4609))
    | ~ 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_1,U_4608),U_4607),U_4606),U_4605),nt)) ),
    inference(clausify,[status(thm)],[f_863_2]) ).

fof(f_864_1,plain,
    ! [X_a,Pa,Hb,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),Hb),null),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),nt),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),nt),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),Hb),null),Ta)) ) ),
    inference(fof_nnf,[status(thm)],[fact_716_conf__Null]) ).

fof(f_864_2,plain,
    ! [U_4616,U_4615,U_4614,U_4613] :
      ( ( 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,U_4616)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4616),U_4615),U_4614),null),U_4613))
        | ~ 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,U_4616)))))))),fun(ty,fun(ty,bool)),widen(U_4616),U_4615),nt),U_4613)) )
      & ( 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,U_4616)))))))),fun(ty,fun(ty,bool)),widen(U_4616),U_4615),nt),U_4613))
        | ~ 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,U_4616)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4616),U_4615),U_4614),null),U_4613)) ) ),
    inference(variable_rename,[status(thm)],[f_864_1]) ).

fof(f_864_3,plain,
    ( ! [U_4624,U_4622,U_4620,U_4618] :
        ( 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,U_4624)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4624),U_4622),U_4620),null),U_4618))
        | ~ 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,U_4624)))))))),fun(ty,fun(ty,bool)),widen(U_4624),U_4622),nt),U_4618)) )
    & ! [U_4623,U_4621,U_4619,U_4617] :
        ( 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,U_4623)))))))),fun(ty,fun(ty,bool)),widen(U_4623),U_4621),nt),U_4617))
        | ~ 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,U_4623)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4623),U_4621),U_4619),null),U_4617)) ) ),
    inference(miniscope,[status(thm)],[f_864_2]) ).

cnf(f_864_4,plain,
    ( 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,U_4623)))))))),fun(ty,fun(ty,bool)),widen(U_4623),U_4621),nt),U_4617))
    | ~ 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,U_4623)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4623),U_4621),U_4619),null),U_4617)) ),
    inference(clausify,[status(thm)],[f_864_3]) ).

cnf(f_864_5,plain,
    ( 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,U_4624)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_4624),U_4622),U_4620),null),U_4618))
    | ~ 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,U_4624)))))))),fun(ty,fun(ty,bool)),widen(U_4624),U_4622),nt),U_4618)) ),
    inference(clausify,[status(thm)],[f_864_3]) ).

fof(f_865_1,plain,
    ! [F_1,D_2,E_2,T_2_2,Pa,Hb,Ea,E_1_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),E_1_1),F_1),D_2),E_2)),void))
      | ~ 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),Hb),Ea),E_2),T_2_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),E_1_1),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_717_WTrt_H__WTrts_H_Ointros_I11_J]) ).

fof(f_865_2,plain,
    ! [U_4632,U_4631,U_4630,U_4629,U_4628,U_4627,U_4626,U_4625] :
      ( 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,U_4628),U_4627),U_4626),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4625),U_4632),U_4631),U_4630)),void))
      | ~ 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,U_4628),U_4627),U_4626),U_4630),U_4629))
      | ~ 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,U_4628),U_4627),U_4626),U_4625),nt)) ),
    inference(variable_rename,[status(thm)],[f_865_1]) ).

cnf(f_865_3,plain,
    ( 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,U_4628),U_4627),U_4626),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4625),U_4632),U_4631),U_4630)),void))
    | ~ 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,U_4628),U_4627),U_4626),U_4630),U_4629))
    | ~ 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,U_4628),U_4627),U_4626),U_4625),nt)) ),
    inference(clausify,[status(thm)],[f_865_2]) ).

fof(f_866_1,plain,
    ! [Hb] : 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,Hb),null) = hAPP(ty,option(ty),some(ty),nt),
    inference(fof_nnf,[status(thm)],[fact_718_typeof__h_Osimps_I2_J]) ).

fof(f_866_2,plain,
    ! [U_4633] : 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,U_4633),null) = hAPP(ty,option(ty),some(ty),nt),
    inference(variable_rename,[status(thm)],[f_866_1]) ).

cnf(f_866_3,plain,
    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,U_4633),null) = hAPP(ty,option(ty),some(ty),nt),
    inference(clausify,[status(thm)],[f_866_2]) ).

fof(f_867_1,plain,
    ! [Pa,Hb,Ea,Eb,F_1,D_2,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_1,Pa),Hb),Ea),Eb),nt))
      | ? [C_2] :
          ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_2),F_1),Ta),D_2))
          & hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_2))) )
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),Eb),F_1),D_2)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_719_WTrt__elim__cases_I7_J]) ).

fof(f_867_2,plain,
    ! [U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635] :
      ( 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_1,U_4641),U_4640),U_4639),U_4638),nt))
      | ? [U_4634] :
          ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4641),U_4634),U_4637),U_4635),U_4636))
          & 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_1,U_4641),U_4640),U_4639),U_4638),hAPP(list(char),ty,class,U_4634))) )
      | ~ 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_1,U_4641),U_4640),U_4639),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4638),U_4637),U_4636)),U_4635)) ),
    inference(variable_rename,[status(thm)],[f_867_1]) ).

fof(f_867_3,plain,
    ! [U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635] :
      ( 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_1,U_4641),U_4640),U_4639),U_4638),nt))
      | ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4641),sK177(U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635)),U_4637),U_4635),U_4636))
        & 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_1,U_4641),U_4640),U_4639),U_4638),hAPP(list(char),ty,class,sK177(U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635)))) )
      | ~ 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_1,U_4641),U_4640),U_4639),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4638),U_4637),U_4636)),U_4635)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK177]),skolemize(U_4634,sK177(U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635))],[f_867_2]) ).

cnf(f_867_4,plain,
    ( 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_1,U_4641),U_4640),U_4639),U_4638),hAPP(list(char),ty,class,sK177(U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635))))
    | 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_1,U_4641),U_4640),U_4639),U_4638),nt))
    | ~ 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_1,U_4641),U_4640),U_4639),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4638),U_4637),U_4636)),U_4635)) ),
    inference(clausify,[status(thm)],[f_867_3]) ).

cnf(f_867_5,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4641),sK177(U_4641,U_4640,U_4639,U_4638,U_4637,U_4636,U_4635)),U_4637),U_4635),U_4636))
    | 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_1,U_4641),U_4640),U_4639),U_4638),nt))
    | ~ 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_1,U_4641),U_4640),U_4639),hAPP(list(char),exp(list(char)),hAPP(list(char),fun(list(char),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(char),exp(list(char)))),fAcc(list(char)),U_4638),U_4637),U_4636)),U_4635)) ),
    inference(clausify,[status(thm)],[f_867_3]) ).

fof(f_868_1,plain,
    ! [X_a,Pa,A1,A2] :
      ( ( 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),A1),A2))
        | ( ! [C_2] :
              ( A2 != hAPP(list(char),ty,class,C_2)
              | A1 != nt )
          & ! [C_2,D_1] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
              | A2 != hAPP(list(char),ty,class,D_1)
              | A1 != hAPP(list(char),ty,class,C_2) )
          & ! [T_5] :
              ( A2 != T_5
              | A1 != T_5 ) ) )
      & ( ? [C_2] :
            ( A2 = hAPP(list(char),ty,class,C_2)
            & A1 = nt )
        | ? [C_2,D_1] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
            & A2 = hAPP(list(char),ty,class,D_1)
            & A1 = hAPP(list(char),ty,class,C_2) )
        | ? [T_5] :
            ( A2 = T_5
            & A1 = T_5 )
        | ~ 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),A1),A2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_720_widen_Osimps]) ).

fof(f_868_2,plain,
    ! [U_4653,U_4652,U_4651,U_4650] :
      ( ( 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,U_4653)))))))),fun(ty,fun(ty,bool)),widen(U_4653),U_4652),U_4651),U_4650))
        | ( ! [U_4649] :
              ( U_4650 != hAPP(list(char),ty,class,U_4649)
              | U_4651 != nt )
          & ! [U_4648,U_4647] :
              ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4653)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4653),U_4652))))
              | U_4650 != hAPP(list(char),ty,class,U_4647)
              | U_4651 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4650 != U_4646
              | U_4651 != U_4646 ) ) )
      & ( ? [U_4645] :
            ( U_4650 = hAPP(list(char),ty,class,U_4645)
            & U_4651 = nt )
        | ? [U_4644,U_4643] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4644),U_4643)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4653)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4653),U_4652))))
            & U_4650 = hAPP(list(char),ty,class,U_4643)
            & U_4651 = hAPP(list(char),ty,class,U_4644) )
        | ? [U_4642] :
            ( U_4650 = U_4642
            & U_4651 = U_4642 )
        | ~ 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,U_4653)))))))),fun(ty,fun(ty,bool)),widen(U_4653),U_4652),U_4651),U_4650)) ) ),
    inference(variable_rename,[status(thm)],[f_868_1]) ).

fof(f_868_3,plain,
    ( ! [U_4661,U_4659,U_4657,U_4655] :
        ( 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655))
        | ( ( ! [U_4649] : U_4655 != hAPP(list(char),ty,class,U_4649)
            | U_4657 != nt )
          & ! [U_4648] :
              ( ! [U_4647] :
                  ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
                  | U_4655 != hAPP(list(char),ty,class,U_4647) )
              | U_4657 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4655 != U_4646
              | U_4657 != U_4646 ) ) )
    & ! [U_4660,U_4658,U_4656,U_4654] :
        ( ( ? [U_4645] : U_4654 = hAPP(list(char),ty,class,U_4645)
          & U_4656 = nt )
        | ? [U_4644] :
            ( ? [U_4643] :
                ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4644),U_4643)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
                & U_4654 = hAPP(list(char),ty,class,U_4643) )
            & U_4656 = hAPP(list(char),ty,class,U_4644) )
        | ? [U_4642] :
            ( U_4654 = U_4642
            & U_4656 = U_4642 )
        | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ) ),
    inference(miniscope,[status(thm)],[f_868_2]) ).

fof(f_868_4,plain,
    ( ! [U_4661,U_4659,U_4657,U_4655] :
        ( 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655))
        | ( ( ! [U_4649] : U_4655 != hAPP(list(char),ty,class,U_4649)
            | U_4657 != nt )
          & ! [U_4648] :
              ( ! [U_4647] :
                  ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
                  | U_4655 != hAPP(list(char),ty,class,U_4647) )
              | U_4657 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4655 != U_4646
              | U_4657 != U_4646 ) ) )
    & ! [U_4660,U_4658,U_4656,U_4654] :
        ( ( ? [U_4645] : U_4654 = hAPP(list(char),ty,class,U_4645)
          & U_4656 = nt )
        | ? [U_4644] :
            ( ? [U_4643] :
                ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4644),U_4643)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
                & U_4654 = hAPP(list(char),ty,class,U_4643) )
            & U_4656 = hAPP(list(char),ty,class,U_4644) )
        | ( U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
          & U_4656 = sK178(U_4660,U_4658,U_4656,U_4654) )
        | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK178]),skolemize(U_4642,sK178(U_4660,U_4658,U_4656,U_4654))],[f_868_3]) ).

fof(f_868_5,plain,
    ( ! [U_4661,U_4659,U_4657,U_4655] :
        ( 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655))
        | ( ( ! [U_4649] : U_4655 != hAPP(list(char),ty,class,U_4649)
            | U_4657 != nt )
          & ! [U_4648] :
              ( ! [U_4647] :
                  ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
                  | U_4655 != hAPP(list(char),ty,class,U_4647) )
              | U_4657 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4655 != U_4646
              | U_4657 != U_4646 ) ) )
    & ! [U_4660,U_4658,U_4656,U_4654] :
        ( ( ? [U_4645] : U_4654 = hAPP(list(char),ty,class,U_4645)
          & U_4656 = nt )
        | ( ? [U_4643] :
              ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),U_4643)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
              & U_4654 = hAPP(list(char),ty,class,U_4643) )
          & U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654)) )
        | ( U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
          & U_4656 = sK178(U_4660,U_4658,U_4656,U_4654) )
        | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK179]),skolemize(U_4644,sK179(U_4660,U_4658,U_4656,U_4654))],[f_868_4]) ).

fof(f_868_6,plain,
    ( ! [U_4661,U_4659,U_4657,U_4655] :
        ( 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655))
        | ( ( ! [U_4649] : U_4655 != hAPP(list(char),ty,class,U_4649)
            | U_4657 != nt )
          & ! [U_4648] :
              ( ! [U_4647] :
                  ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
                  | U_4655 != hAPP(list(char),ty,class,U_4647) )
              | U_4657 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4655 != U_4646
              | U_4657 != U_4646 ) ) )
    & ! [U_4660,U_4658,U_4656,U_4654] :
        ( ( ? [U_4645] : U_4654 = hAPP(list(char),ty,class,U_4645)
          & U_4656 = nt )
        | ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
          & U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
          & U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654)) )
        | ( U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
          & U_4656 = sK178(U_4660,U_4658,U_4656,U_4654) )
        | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK180]),skolemize(U_4643,sK180(U_4660,U_4658,U_4656,U_4654))],[f_868_5]) ).

fof(f_868_7,plain,
    ( ! [U_4661,U_4659,U_4657,U_4655] :
        ( 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655))
        | ( ( ! [U_4649] : U_4655 != hAPP(list(char),ty,class,U_4649)
            | U_4657 != nt )
          & ! [U_4648] :
              ( ! [U_4647] :
                  ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
                  | U_4655 != hAPP(list(char),ty,class,U_4647) )
              | U_4657 != hAPP(list(char),ty,class,U_4648) )
          & ! [U_4646] :
              ( U_4655 != U_4646
              | U_4657 != U_4646 ) ) )
    & ! [U_4660,U_4658,U_4656,U_4654] :
        ( ( U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
          & U_4656 = nt )
        | ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
          & U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
          & U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654)) )
        | ( U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
          & U_4656 = sK178(U_4660,U_4658,U_4656,U_4654) )
        | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK181]),skolemize(U_4645,sK181(U_4660,U_4658,U_4656,U_4654))],[f_868_6]) ).

cnf(f_868_8,plain,
    ( U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_9,plain,
    ( U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_10,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_11,plain,
    ( U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_12,plain,
    ( U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_13,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4656 = nt
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_14,plain,
    ( U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_15,plain,
    ( U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_16,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
    | U_4656 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_17,plain,
    ( U_4656 = hAPP(list(char),ty,class,sK179(U_4660,U_4658,U_4656,U_4654))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_18,plain,
    ( U_4654 = hAPP(list(char),ty,class,sK180(U_4660,U_4658,U_4656,U_4654))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_19,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK179(U_4660,U_4658,U_4656,U_4654)),sK180(U_4660,U_4658,U_4656,U_4654))),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4660)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4660),U_4658))))
    | U_4654 = sK178(U_4660,U_4658,U_4656,U_4654)
    | U_4654 = hAPP(list(char),ty,class,sK181(U_4660,U_4658,U_4656,U_4654))
    | ~ 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,U_4660)))))))),fun(ty,fun(ty,bool)),widen(U_4660),U_4658),U_4656),U_4654)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_20,plain,
    ( U_4655 != U_4646
    | U_4657 != U_4646
    | 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_21,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4648),U_4647)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4661)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4661),U_4659))))
    | U_4655 != hAPP(list(char),ty,class,U_4647)
    | U_4657 != hAPP(list(char),ty,class,U_4648)
    | 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

cnf(f_868_22,plain,
    ( U_4655 != hAPP(list(char),ty,class,U_4649)
    | U_4657 != nt
    | 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,U_4661)))))))),fun(ty,fun(ty,bool)),widen(U_4661),U_4659),U_4657),U_4655)) ),
    inference(clausify,[status(thm)],[f_868_7]) ).

fof(f_869_1,plain,
    ! [Pa,Hb,Ea,Eb,F_1,D_2,Va,Ta] :
      ( ( ? [T_2_1] : hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Va),T_2_1))
        & hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),nt))
        & Ta = void )
      | ( ? [C_2] :
            ( ? [T_5] :
                ( ? [T_2_1] :
                    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa),T_2_1),T_5))
                    & 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_1,Pa),Hb),Ea),Va),T_2_1)) )
                & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),Pa),C_2),F_1),T_5),D_2)) )
            & hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_2))) )
        & Ta = void )
      | ~ 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_1,Pa),Hb),Ea),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),Eb),F_1),D_2),Va)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_721_WTrt__elim__cases_I8_J]) ).

fof(f_869_2,plain,
    ! [U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666] :
      ( ( ? [U_4665] : 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_1,U_4673),U_4672),U_4671),U_4667),U_4665))
        & 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_1,U_4673),U_4672),U_4671),U_4670),nt))
        & U_4666 = void )
      | ( ? [U_4664] :
            ( ? [U_4663] :
                ( ? [U_4662] :
                    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),U_4662),U_4663))
                    & 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_1,U_4673),U_4672),U_4671),U_4667),U_4662)) )
                & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),U_4664),U_4669),U_4663),U_4668)) )
            & 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,U_4664))) )
        & U_4666 = void )
      | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(variable_rename,[status(thm)],[f_869_1]) ).

fof(f_869_3,plain,
    ! [U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666] :
      ( ( ? [U_4665] : 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_1,U_4673),U_4672),U_4671),U_4667),U_4665))
        & 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_1,U_4673),U_4672),U_4671),U_4670),nt))
        & U_4666 = void )
      | ( ? [U_4663] :
            ( ? [U_4662] :
                ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),U_4662),U_4663))
                & 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_1,U_4673),U_4672),U_4671),U_4667),U_4662)) )
            & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),U_4663),U_4668)) )
        & 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
        & U_4666 = void )
      | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK182]),skolemize(U_4664,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))],[f_869_2]) ).

fof(f_869_4,plain,
    ! [U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666] :
      ( ( ? [U_4665] : 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_1,U_4673),U_4672),U_4671),U_4667),U_4665))
        & 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_1,U_4673),U_4672),U_4671),U_4670),nt))
        & U_4666 = void )
      | ( ? [U_4662] :
            ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),U_4662),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
            & 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_1,U_4673),U_4672),U_4671),U_4667),U_4662)) )
        & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
        & 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
        & U_4666 = void )
      | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK183]),skolemize(U_4663,sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))],[f_869_3]) ).

fof(f_869_5,plain,
    ! [U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666] :
      ( ( ? [U_4665] : 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_1,U_4673),U_4672),U_4671),U_4667),U_4665))
        & 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_1,U_4673),U_4672),U_4671),U_4670),nt))
        & U_4666 = void )
      | ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
        & 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_1,U_4673),U_4672),U_4671),U_4667),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
        & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
        & 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
        & U_4666 = void )
      | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK184]),skolemize(U_4662,sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))],[f_869_4]) ).

fof(f_869_6,plain,
    ! [U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666] :
      ( ( 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
        & 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_1,U_4673),U_4672),U_4671),U_4670),nt))
        & U_4666 = void )
      | ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
        & 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_1,U_4673),U_4672),U_4671),U_4667),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
        & hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
        & 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
        & U_4666 = void )
      | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK185]),skolemize(U_4665,sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))],[f_869_5]) ).

cnf(f_869_7,plain,
    ( U_4666 = void
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_8,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4670),nt))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_9,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_10,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_11,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_12,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4667),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_13,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_14,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4670),nt))
    | 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_15,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | 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_1,U_4673),U_4672),U_4671),U_4670),hAPP(list(char),ty,class,sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666))))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_16,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
    | 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_1,U_4673),U_4672),U_4671),U_4670),nt))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_17,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4667),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | 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_1,U_4673),U_4672),U_4671),U_4670),nt))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_18,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | 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_1,U_4673),U_4672),U_4671),U_4670),nt))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_19,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(product_prod(list(list(char)),exp(list(char)))),U_4673),sK182(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4669),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),U_4668))
    | 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_20,plain,
    ( 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_1,U_4673),U_4672),U_4671),U_4667),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

cnf(f_869_21,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),U_4673),sK184(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)),sK183(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | 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_1,U_4673),U_4672),U_4671),U_4667),sK185(U_4673,U_4672,U_4671,U_4670,U_4669,U_4668,U_4667,U_4666)))
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(clausify,[status(thm)],[f_869_6]) ).

fof(f_870_1,plain,
    ! [T_3] :
      ( ? [C_2] : T_3 = hAPP(list(char),ty,class,C_2)
      | T_3 = nt
      | ~ hBOOL(hAPP(ty,bool,is_refT,T_3)) ),
    inference(fof_nnf,[status(thm)],[fact_722_refTE]) ).

fof(f_870_2,plain,
    ! [U_4675] :
      ( ? [U_4674] : U_4675 = hAPP(list(char),ty,class,U_4674)
      | U_4675 = nt
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_4675)) ),
    inference(variable_rename,[status(thm)],[f_870_1]) ).

fof(f_870_3,plain,
    ! [U_4675] :
      ( U_4675 = hAPP(list(char),ty,class,sK186(U_4675))
      | U_4675 = nt
      | ~ hBOOL(hAPP(ty,bool,is_refT,U_4675)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK186]),skolemize(U_4674,sK186(U_4675))],[f_870_2]) ).

cnf(f_870_4,plain,
    ( U_4675 = hAPP(list(char),ty,class,sK186(U_4675))
    | U_4675 = nt
    | ~ hBOOL(hAPP(ty,bool,is_refT,U_4675)) ),
    inference(clausify,[status(thm)],[f_870_3]) ).

fof(f_871_1,plain,
    ! [X_a,Pa,Va,Ta] :
      ( hBOOL(hAPP(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,bool),is_type(X_a),Pa),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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),Va) != hAPP(ty,option(ty),some(ty),Ta) ),
    inference(fof_nnf,[status(thm)],[fact_723_typeof__lit__is__type]) ).

fof(f_871_2,plain,
    ! [U_4679,U_4678,U_4677,U_4676] :
      ( hBOOL(hAPP(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,U_4679)))))))),fun(ty,bool),is_type(U_4679),U_4678),U_4676))
      | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_4677) != hAPP(ty,option(ty),some(ty),U_4676) ),
    inference(variable_rename,[status(thm)],[f_871_1]) ).

cnf(f_871_3,plain,
    ( hBOOL(hAPP(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,U_4679)))))))),fun(ty,bool),is_type(U_4679),U_4678),U_4676))
    | 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,hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),combk(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),nat),none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),U_4677) != hAPP(ty,option(ty),some(ty),U_4676) ),
    inference(clausify,[status(thm)],[f_871_2]) ).

fof(f_872_1,plain,
    ! [X_a,Pa] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),ty),bool),wf_fdecl(X_a),Pa) = hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,bool),fun(list(char),fun(ty,bool)),combk(fun(ty,bool),list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,bool),is_type(X_a),Pa))),
    inference(fof_nnf,[status(thm)],[fact_724_wf__fdecl__def]) ).

fof(f_872_2,plain,
    ! [U_4681,U_4680] : hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4681)))))))),fun(product_prod(list(char),ty),bool),wf_fdecl(U_4681),U_4680) = hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,bool),fun(list(char),fun(ty,bool)),combk(fun(ty,bool),list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4681)))))))),fun(ty,bool),is_type(U_4681),U_4680))),
    inference(variable_rename,[status(thm)],[f_872_1]) ).

cnf(f_872_3,plain,
    hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4681)))))))),fun(product_prod(list(char),ty),bool),wf_fdecl(U_4681),U_4680) = hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,bool),fun(list(char),fun(ty,bool)),combk(fun(ty,bool),list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4681)))))))),fun(ty,bool),is_type(U_4681),U_4680))),
    inference(clausify,[status(thm)],[f_872_2]) ).

fof(f_873_1,plain,
    ! [X_a,Pa,C_1,D_2,Rest_2] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
      | C_1 = object
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),Rest_2)) ),
    inference(fof_nnf,[status(thm)],[fact_725_subcls1_Ointros]) ).

fof(f_873_2,plain,
    ! [U_4686,U_4685,U_4684,U_4683,U_4682] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4684),U_4683)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4686),U_4685)))
      | U_4684 = object
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),class_1(U_4686),U_4685),U_4684) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),U_4683),U_4682)) ),
    inference(variable_rename,[status(thm)],[f_873_1]) ).

fof(f_873_3,plain,
    ! [U_4686,U_4685,U_4684,U_4683] :
      ( ! [U_4682] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),class_1(U_4686),U_4685),U_4684) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),U_4683),U_4682))
      | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4684),U_4683)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4686),U_4685)))
      | U_4684 = object ),
    inference(miniscope,[status(thm)],[f_873_2]) ).

cnf(f_873_4,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),class_1(U_4686),U_4685),U_4684) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))),U_4683),U_4682))
    | hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4684),U_4683)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4686)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4686),U_4685)))
    | U_4684 = object ),
    inference(clausify,[status(thm)],[f_873_3]) ).

fof(f_874_1,plain,
    ! [X_m,P,C_4,D_4,Rest_1] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_m),P),C_4),D_4))
      | C_4 = object
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),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(list(char),option(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)))))))),class_1(X_m),P),C_4) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_m)))))),D_4),Rest_1)) ),
    inference(fof_nnf,[status(thm)],[fact_726_subcls1p_Ointros]) ).

fof(f_874_2,plain,
    ! [U_4691,U_4690,U_4689,U_4688,U_4687] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4691),U_4690),U_4689),U_4688))
      | U_4689 = object
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),class_1(U_4691),U_4690),U_4689) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),U_4688),U_4687)) ),
    inference(variable_rename,[status(thm)],[f_874_1]) ).

fof(f_874_3,plain,
    ! [U_4691,U_4690,U_4689,U_4688] :
      ( ! [U_4687] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),class_1(U_4691),U_4690),U_4689) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),U_4688),U_4687))
      | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4691),U_4690),U_4689),U_4688))
      | U_4689 = object ),
    inference(miniscope,[status(thm)],[f_874_2]) ).

cnf(f_874_4,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),class_1(U_4691),U_4690),U_4689) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))),U_4688),U_4687))
    | hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4691)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4691),U_4690),U_4689),U_4688))
    | U_4689 = object ),
    inference(clausify,[status(thm)],[f_874_3]) ).

fof(f_875_1,plain,
    ! [X_a,Wf_md,Pa,C_1,C] :
      ( hBOOL(hAPP(product_prod(list(char),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))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool)),wf_cdecl(X_a),Wf_md),Pa),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),C)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) != hAPP(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)))))),option(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))))))),some(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))))))),C) ),
    inference(fof_nnf,[status(thm)],[fact_727_class__wf]) ).

fof(f_875_2,plain,
    ! [U_4696,U_4695,U_4694,U_4693,U_4692] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool),hAPP(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,U_4696)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))),bool))),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,U_4696)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool)),wf_cdecl(U_4696),U_4695),U_4694),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),U_4693),U_4692)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),bool,hAPP(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,U_4696)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))),bool))),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,U_4696)))))))),bool),wf_prog(U_4696),U_4695),U_4694))
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),class_1(U_4696),U_4694),U_4693) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),U_4692) ),
    inference(variable_rename,[status(thm)],[f_875_1]) ).

cnf(f_875_3,plain,
    ( hBOOL(hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool),hAPP(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,U_4696)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))),bool))),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,U_4696)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),bool)),wf_cdecl(U_4696),U_4695),U_4694),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),U_4693),U_4692)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),bool,hAPP(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,U_4696)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))),bool))),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,U_4696)))))))),bool),wf_prog(U_4696),U_4695),U_4694))
    | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))))),class_1(U_4696),U_4694),U_4693) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4696))))))),U_4692) ),
    inference(clausify,[status(thm)],[f_875_2]) ).

fof(f_876_1,plain,
    ! [X_a,C_1,D_2,Pa] :
      ( ( ? [Fs_1,Ms_1] : hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs_1),Ms_1)))
        & C_1 != object )
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_728_subcls1D]) ).

fof(f_876_2,plain,
    ! [U_4702,U_4701,U_4700,U_4699] :
      ( ( ? [U_4698,U_4697] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),class_1(U_4702),U_4699),U_4701) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),U_4700),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),U_4698),U_4697)))
        & U_4701 != object )
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4701),U_4700)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4702),U_4699))) ),
    inference(variable_rename,[status(thm)],[f_876_1]) ).

fof(f_876_3,plain,
    ! [U_4702,U_4701,U_4700,U_4699] :
      ( ( ? [U_4697] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),class_1(U_4702),U_4699),U_4701) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),U_4700),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),sK187(U_4702,U_4701,U_4700,U_4699)),U_4697)))
        & U_4701 != object )
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4701),U_4700)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4702),U_4699))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK187]),skolemize(U_4698,sK187(U_4702,U_4701,U_4700,U_4699))],[f_876_2]) ).

fof(f_876_4,plain,
    ! [U_4702,U_4701,U_4700,U_4699] :
      ( ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),class_1(U_4702),U_4699),U_4701) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),U_4700),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),sK187(U_4702,U_4701,U_4700,U_4699)),sK188(U_4702,U_4701,U_4700,U_4699))))
        & U_4701 != object )
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4701),U_4700)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4702),U_4699))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK188]),skolemize(U_4697,sK188(U_4702,U_4701,U_4700,U_4699))],[f_876_3]) ).

cnf(f_876_5,plain,
    ( U_4701 != object
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4701),U_4700)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4702),U_4699))) ),
    inference(clausify,[status(thm)],[f_876_4]) ).

cnf(f_876_6,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),class_1(U_4702),U_4699),U_4701) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),U_4700),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702))))),sK187(U_4702,U_4701,U_4700,U_4699)),sK188(U_4702,U_4701,U_4700,U_4699))))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4701),U_4700)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4702)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4702),U_4699))) ),
    inference(clausify,[status(thm)],[f_876_4]) ).

fof(f_877_1,plain,
    ! [X_a,A1,A2,Pa] :
      ( ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),A1),A2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))
        | ! [C_2,D_1,Rest] :
            ( C_2 = object
            | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
            | A2 != D_1
            | A1 != C_2 ) )
      & ( ? [C_2,D_1,Rest] :
            ( C_2 != object
            & hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
            & A2 = D_1
            & A1 = C_2 )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),A1),A2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) ) ),
    inference(fof_nnf,[status(thm)],[fact_729_subcls1_Osimps]) ).

fof(f_877_2,plain,
    ! [U_4712,U_4711,U_4710,U_4709] :
      ( ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4711),U_4710)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4712),U_4709)))
        | ! [U_4708,U_4707,U_4706] :
            ( U_4708 = object
            | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),class_1(U_4712),U_4709),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),U_4707),U_4706))
            | U_4710 != U_4707
            | U_4711 != U_4708 ) )
      & ( ? [U_4705,U_4704,U_4703] :
            ( U_4705 != object
            & hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),class_1(U_4712),U_4709),U_4705) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))),U_4704),U_4703))
            & U_4710 = U_4704
            & U_4711 = U_4705 )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4711),U_4710)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4712)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4712),U_4709))) ) ),
    inference(variable_rename,[status(thm)],[f_877_1]) ).

fof(f_877_3,plain,
    ( ! [U_4720,U_4718,U_4716,U_4714] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4718),U_4716)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4720),U_4714)))
        | ! [U_4708] :
            ( ! [U_4707] :
                ( ! [U_4706] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),class_1(U_4720),U_4714),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),U_4707),U_4706))
                | U_4716 != U_4707 )
            | U_4708 = object
            | U_4718 != U_4708 ) )
    & ! [U_4719,U_4717,U_4715,U_4713] :
        ( ? [U_4705] :
            ( ? [U_4704] :
                ( ? [U_4703] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),class_1(U_4719),U_4713),U_4705) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),U_4704),U_4703))
                & U_4715 = U_4704 )
            & U_4705 != object
            & U_4717 = U_4705 )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ) ),
    inference(miniscope,[status(thm)],[f_877_2]) ).

fof(f_877_4,plain,
    ( ! [U_4720,U_4718,U_4716,U_4714] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4718),U_4716)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4720),U_4714)))
        | ! [U_4708] :
            ( ! [U_4707] :
                ( ! [U_4706] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),class_1(U_4720),U_4714),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),U_4707),U_4706))
                | U_4716 != U_4707 )
            | U_4708 = object
            | U_4718 != U_4708 ) )
    & ! [U_4719,U_4717,U_4715,U_4713] :
        ( ( ? [U_4704] :
              ( ? [U_4703] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),class_1(U_4719),U_4713),sK189(U_4719,U_4717,U_4715,U_4713)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),U_4704),U_4703))
              & U_4715 = U_4704 )
          & sK189(U_4719,U_4717,U_4715,U_4713) != object
          & U_4717 = sK189(U_4719,U_4717,U_4715,U_4713) )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK189]),skolemize(U_4705,sK189(U_4719,U_4717,U_4715,U_4713))],[f_877_3]) ).

fof(f_877_5,plain,
    ( ! [U_4720,U_4718,U_4716,U_4714] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4718),U_4716)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4720),U_4714)))
        | ! [U_4708] :
            ( ! [U_4707] :
                ( ! [U_4706] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),class_1(U_4720),U_4714),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),U_4707),U_4706))
                | U_4716 != U_4707 )
            | U_4708 = object
            | U_4718 != U_4708 ) )
    & ! [U_4719,U_4717,U_4715,U_4713] :
        ( ( ? [U_4703] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),class_1(U_4719),U_4713),sK189(U_4719,U_4717,U_4715,U_4713)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),sK190(U_4719,U_4717,U_4715,U_4713)),U_4703))
          & U_4715 = sK190(U_4719,U_4717,U_4715,U_4713)
          & sK189(U_4719,U_4717,U_4715,U_4713) != object
          & U_4717 = sK189(U_4719,U_4717,U_4715,U_4713) )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK190]),skolemize(U_4704,sK190(U_4719,U_4717,U_4715,U_4713))],[f_877_4]) ).

fof(f_877_6,plain,
    ( ! [U_4720,U_4718,U_4716,U_4714] :
        ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4718),U_4716)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4720),U_4714)))
        | ! [U_4708] :
            ( ! [U_4707] :
                ( ! [U_4706] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),class_1(U_4720),U_4714),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),U_4707),U_4706))
                | U_4716 != U_4707 )
            | U_4708 = object
            | U_4718 != U_4708 ) )
    & ! [U_4719,U_4717,U_4715,U_4713] :
        ( ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),class_1(U_4719),U_4713),sK189(U_4719,U_4717,U_4715,U_4713)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),sK190(U_4719,U_4717,U_4715,U_4713)),sK191(U_4719,U_4717,U_4715,U_4713)))
          & U_4715 = sK190(U_4719,U_4717,U_4715,U_4713)
          & sK189(U_4719,U_4717,U_4715,U_4713) != object
          & U_4717 = sK189(U_4719,U_4717,U_4715,U_4713) )
        | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK191]),skolemize(U_4703,sK191(U_4719,U_4717,U_4715,U_4713))],[f_877_5]) ).

cnf(f_877_7,plain,
    ( U_4717 = sK189(U_4719,U_4717,U_4715,U_4713)
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ),
    inference(clausify,[status(thm)],[f_877_6]) ).

cnf(f_877_8,plain,
    ( sK189(U_4719,U_4717,U_4715,U_4713) != object
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ),
    inference(clausify,[status(thm)],[f_877_6]) ).

cnf(f_877_9,plain,
    ( U_4715 = sK190(U_4719,U_4717,U_4715,U_4713)
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ),
    inference(clausify,[status(thm)],[f_877_6]) ).

cnf(f_877_10,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),class_1(U_4719),U_4713),sK189(U_4719,U_4717,U_4715,U_4713)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))),sK190(U_4719,U_4717,U_4715,U_4713)),sK191(U_4719,U_4717,U_4715,U_4713)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4717),U_4715)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4719)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4719),U_4713))) ),
    inference(clausify,[status(thm)],[f_877_6]) ).

cnf(f_877_11,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4718),U_4716)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4720),U_4714)))
    | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))))),class_1(U_4720),U_4714),U_4708) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4720)))))),U_4707),U_4706))
    | U_4716 != U_4707
    | U_4708 = object
    | U_4718 != U_4708 ),
    inference(clausify,[status(thm)],[f_877_6]) ).

fof(f_878_1,plain,
    ! [X_a,Pa,A1,A2] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),A1),A2))
        | ! [C_2,D_1,Rest] :
            ( C_2 = object
            | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
            | A2 != D_1
            | A1 != C_2 ) )
      & ( ? [C_2,D_1,Rest] :
            ( C_2 != object
            & hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_2) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_1),Rest))
            & A2 = D_1
            & A1 = C_2 )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),bool)),subcls1p(X_a),Pa),A1),A2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_730_subcls1p_Osimps]) ).

fof(f_878_2,plain,
    ! [U_4730,U_4729,U_4728,U_4727] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4730),U_4729),U_4728),U_4727))
        | ! [U_4726,U_4725,U_4724] :
            ( U_4726 = object
            | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),class_1(U_4730),U_4729),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),U_4725),U_4724))
            | U_4727 != U_4725
            | U_4728 != U_4726 ) )
      & ( ? [U_4723,U_4722,U_4721] :
            ( U_4723 != object
            & hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),class_1(U_4730),U_4729),U_4723) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))),U_4722),U_4721))
            & U_4727 = U_4722
            & U_4728 = U_4723 )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4730)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4730),U_4729),U_4728),U_4727)) ) ),
    inference(variable_rename,[status(thm)],[f_878_1]) ).

fof(f_878_3,plain,
    ( ! [U_4738,U_4736,U_4734,U_4732] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4738),U_4736),U_4734),U_4732))
        | ! [U_4726] :
            ( ! [U_4725] :
                ( ! [U_4724] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),class_1(U_4738),U_4736),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),U_4725),U_4724))
                | U_4732 != U_4725 )
            | U_4726 = object
            | U_4734 != U_4726 ) )
    & ! [U_4737,U_4735,U_4733,U_4731] :
        ( ? [U_4723] :
            ( ? [U_4722] :
                ( ? [U_4721] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),class_1(U_4737),U_4735),U_4723) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),U_4722),U_4721))
                & U_4731 = U_4722 )
            & U_4723 != object
            & U_4733 = U_4723 )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ) ),
    inference(miniscope,[status(thm)],[f_878_2]) ).

fof(f_878_4,plain,
    ( ! [U_4738,U_4736,U_4734,U_4732] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4738),U_4736),U_4734),U_4732))
        | ! [U_4726] :
            ( ! [U_4725] :
                ( ! [U_4724] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),class_1(U_4738),U_4736),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),U_4725),U_4724))
                | U_4732 != U_4725 )
            | U_4726 = object
            | U_4734 != U_4726 ) )
    & ! [U_4737,U_4735,U_4733,U_4731] :
        ( ( ? [U_4722] :
              ( ? [U_4721] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),class_1(U_4737),U_4735),sK192(U_4737,U_4735,U_4733,U_4731)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),U_4722),U_4721))
              & U_4731 = U_4722 )
          & sK192(U_4737,U_4735,U_4733,U_4731) != object
          & U_4733 = sK192(U_4737,U_4735,U_4733,U_4731) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK192]),skolemize(U_4723,sK192(U_4737,U_4735,U_4733,U_4731))],[f_878_3]) ).

fof(f_878_5,plain,
    ( ! [U_4738,U_4736,U_4734,U_4732] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4738),U_4736),U_4734),U_4732))
        | ! [U_4726] :
            ( ! [U_4725] :
                ( ! [U_4724] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),class_1(U_4738),U_4736),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),U_4725),U_4724))
                | U_4732 != U_4725 )
            | U_4726 = object
            | U_4734 != U_4726 ) )
    & ! [U_4737,U_4735,U_4733,U_4731] :
        ( ( ? [U_4721] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),class_1(U_4737),U_4735),sK192(U_4737,U_4735,U_4733,U_4731)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),sK193(U_4737,U_4735,U_4733,U_4731)),U_4721))
          & U_4731 = sK193(U_4737,U_4735,U_4733,U_4731)
          & sK192(U_4737,U_4735,U_4733,U_4731) != object
          & U_4733 = sK192(U_4737,U_4735,U_4733,U_4731) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK193]),skolemize(U_4722,sK193(U_4737,U_4735,U_4733,U_4731))],[f_878_4]) ).

fof(f_878_6,plain,
    ( ! [U_4738,U_4736,U_4734,U_4732] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4738),U_4736),U_4734),U_4732))
        | ! [U_4726] :
            ( ! [U_4725] :
                ( ! [U_4724] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),class_1(U_4738),U_4736),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),U_4725),U_4724))
                | U_4732 != U_4725 )
            | U_4726 = object
            | U_4734 != U_4726 ) )
    & ! [U_4737,U_4735,U_4733,U_4731] :
        ( ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),class_1(U_4737),U_4735),sK192(U_4737,U_4735,U_4733,U_4731)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),sK193(U_4737,U_4735,U_4733,U_4731)),sK194(U_4737,U_4735,U_4733,U_4731)))
          & U_4731 = sK193(U_4737,U_4735,U_4733,U_4731)
          & sK192(U_4737,U_4735,U_4733,U_4731) != object
          & U_4733 = sK192(U_4737,U_4735,U_4733,U_4731) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK194]),skolemize(U_4721,sK194(U_4737,U_4735,U_4733,U_4731))],[f_878_5]) ).

cnf(f_878_7,plain,
    ( U_4733 = sK192(U_4737,U_4735,U_4733,U_4731)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ),
    inference(clausify,[status(thm)],[f_878_6]) ).

cnf(f_878_8,plain,
    ( sK192(U_4737,U_4735,U_4733,U_4731) != object
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ),
    inference(clausify,[status(thm)],[f_878_6]) ).

cnf(f_878_9,plain,
    ( U_4731 = sK193(U_4737,U_4735,U_4733,U_4731)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ),
    inference(clausify,[status(thm)],[f_878_6]) ).

cnf(f_878_10,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),class_1(U_4737),U_4735),sK192(U_4737,U_4735,U_4733,U_4731)) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))),sK193(U_4737,U_4735,U_4733,U_4731)),sK194(U_4737,U_4735,U_4733,U_4731)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4737)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4737),U_4735),U_4733),U_4731)) ),
    inference(clausify,[status(thm)],[f_878_6]) ).

cnf(f_878_11,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(char),fun(list(char),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),fun(list(char),bool)),subcls1p(U_4738),U_4736),U_4734),U_4732))
    | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))))),class_1(U_4738),U_4736),U_4726) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4738)))))),U_4725),U_4724))
    | U_4732 != U_4725
    | U_4726 = object
    | U_4734 != U_4726 ),
    inference(clausify,[status(thm)],[f_878_6]) ).

fof(f_879_1,plain,
    ! [X_a,Wf_md,Pa] :
      ( ? [C_2,Fs_1,Ms_1] : hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),object) = hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),C_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs_1),Ms_1)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_731_class__Object]) ).

fof(f_879_2,plain,
    ! [U_4744,U_4743,U_4742] :
      ( ? [U_4741,U_4740,U_4739] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),class_1(U_4744),U_4742),object) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),U_4741),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),U_4740),U_4739)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),bool,hAPP(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,U_4744)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))),bool))),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,U_4744)))))))),bool),wf_prog(U_4744),U_4743),U_4742)) ),
    inference(variable_rename,[status(thm)],[f_879_1]) ).

fof(f_879_3,plain,
    ! [U_4744,U_4743,U_4742] :
      ( ? [U_4740,U_4739] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),class_1(U_4744),U_4742),object) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),sK195(U_4744,U_4743,U_4742)),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),U_4740),U_4739)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),bool,hAPP(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,U_4744)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))),bool))),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,U_4744)))))))),bool),wf_prog(U_4744),U_4743),U_4742)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK195]),skolemize(U_4741,sK195(U_4744,U_4743,U_4742))],[f_879_2]) ).

fof(f_879_4,plain,
    ! [U_4744,U_4743,U_4742] :
      ( ? [U_4739] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),class_1(U_4744),U_4742),object) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),sK195(U_4744,U_4743,U_4742)),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),sK196(U_4744,U_4743,U_4742)),U_4739)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),bool,hAPP(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,U_4744)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))),bool))),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,U_4744)))))))),bool),wf_prog(U_4744),U_4743),U_4742)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK196]),skolemize(U_4740,sK196(U_4744,U_4743,U_4742))],[f_879_3]) ).

fof(f_879_5,plain,
    ! [U_4744,U_4743,U_4742] :
      ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),class_1(U_4744),U_4742),object) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),sK195(U_4744,U_4743,U_4742)),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),sK196(U_4744,U_4743,U_4742)),sK197(U_4744,U_4743,U_4742))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),bool,hAPP(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,U_4744)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))),bool))),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,U_4744)))))))),bool),wf_prog(U_4744),U_4743),U_4742)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK197]),skolemize(U_4739,sK197(U_4744,U_4743,U_4742))],[f_879_4]) ).

cnf(f_879_6,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),class_1(U_4744),U_4742),object) = hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),sK195(U_4744,U_4743,U_4742)),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))))),sK196(U_4744,U_4743,U_4742)),sK197(U_4744,U_4743,U_4742))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744)))))))),bool,hAPP(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,U_4744)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4744))),bool))),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,U_4744)))))))),bool),wf_prog(U_4744),U_4743),U_4742)) ),
    inference(clausify,[status(thm)],[f_879_5]) ).

fof(f_880_1,plain,
    ! [X_a,Pa,C_1] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
        | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) = none(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))))))) )
      & ( hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) != none(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)))))))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_732_is__class__def]) ).

fof(f_880_2,plain,
    ! [U_4747,U_4746,U_4745] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),fun(list(char),bool),is_class(U_4747),U_4746),U_4745))
        | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),class_1(U_4747),U_4746),U_4745) = none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747))))))) )
      & ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),class_1(U_4747),U_4746),U_4745) != none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4747)))))))),fun(list(char),bool),is_class(U_4747),U_4746),U_4745)) ) ),
    inference(variable_rename,[status(thm)],[f_880_1]) ).

fof(f_880_3,plain,
    ( ! [U_4753,U_4751,U_4749] :
        ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),fun(list(char),bool),is_class(U_4753),U_4751),U_4749))
        | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),class_1(U_4753),U_4751),U_4749) = none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753))))))) )
    & ! [U_4752,U_4750,U_4748] :
        ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),class_1(U_4752),U_4750),U_4748) != none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))
        | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),fun(list(char),bool),is_class(U_4752),U_4750),U_4748)) ) ),
    inference(miniscope,[status(thm)],[f_880_2]) ).

cnf(f_880_4,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),class_1(U_4752),U_4750),U_4748) != none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4752)))))))),fun(list(char),bool),is_class(U_4752),U_4750),U_4748)) ),
    inference(clausify,[status(thm)],[f_880_3]) ).

cnf(f_880_5,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),fun(list(char),bool),is_class(U_4753),U_4751),U_4749))
    | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753)))))))),class_1(U_4753),U_4751),U_4749) = none(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4753))))))) ),
    inference(clausify,[status(thm)],[f_880_3]) ).

fof(f_881_1,plain,
    ! [Pa,Eb,E_1_1,E_2,S,E_b,S_3] :
      ( ? [E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & E_b = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1) )
      | ? [S_1_1] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_2),S_1_1),E_b),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),S_1_1)) )
      | ? [S_1_1] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),E_1_1),S_1_1),E_b),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),S_1_1)) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),Eb),E_1_1),E_2)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_733_eval__cases_I10_J]) ).

fof(f_881_2,plain,
    ! [U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757] :
      ( ? [U_4756] :
          ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756)),U_4757))
          & U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756) )
      | ? [U_4755] :
          ( 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,U_4763),U_4760),U_4755),U_4758),U_4757))
          & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4755)) )
      | ? [U_4754] :
          ( 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,U_4763),U_4761),U_4754),U_4758),U_4757))
          & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),U_4754)) )
      | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(variable_rename,[status(thm)],[f_881_1]) ).

fof(f_881_3,plain,
    ! [U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757] :
      ( ? [U_4756] :
          ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756)),U_4757))
          & U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756) )
      | ? [U_4755] :
          ( 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,U_4763),U_4760),U_4755),U_4758),U_4757))
          & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),U_4755)) )
      | ( 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
        & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))) )
      | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK198]),skolemize(U_4754,sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))],[f_881_2]) ).

fof(f_881_4,plain,
    ! [U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757] :
      ( ? [U_4756] :
          ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756)),U_4757))
          & U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_4756) )
      | ( 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
        & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))) )
      | ( 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
        & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))) )
      | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK199]),skolemize(U_4755,sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))],[f_881_3]) ).

fof(f_881_5,plain,
    ! [U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757] :
      ( ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))),U_4757))
        & U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)) )
      | ( 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
        & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))) )
      | ( 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
        & 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))) )
      | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK200]),skolemize(U_4756,sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))],[f_881_4]) ).

cnf(f_881_6,plain,
    ( U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_7,plain,
    ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))),U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_8,plain,
    ( U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))
    | 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_9,plain,
    ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))),U_4757))
    | 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fTrue))),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_10,plain,
    ( U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_11,plain,
    ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))),U_4757))
    | 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,U_4763),U_4762),U_4759),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(bool,val,bool_1,fFalse))),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)))
    | 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_12,plain,
    ( U_4758 = hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))
    | 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

cnf(f_881_13,plain,
    ( 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,U_4763),U_4762),U_4759),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK200(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757))),U_4757))
    | 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,U_4763),U_4760),sK199(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | 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,U_4763),U_4761),sK198(U_4763,U_4762,U_4761,U_4760,U_4759,U_4758,U_4757)),U_4758),U_4757))
    | ~ 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,U_4763),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),hAPP(exp(list(char)),fun(exp(list(char)),fun(exp(list(char)),exp(list(char)))),cond(list(char)),U_4762),U_4761),U_4760)),U_4759),U_4758),U_4757)) ),
    inference(clausify,[status(thm)],[f_881_5]) ).

fof(f_882_1,plain,
    ! [X_a,Pa,Ta] :
      ( ( hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta))
        | ~ hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa)),Ta)) )
      & ( hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa)),Ta))
        | ~ hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta)) ) ),
    inference(fof_nnf,[status(thm)],[fact_734_is__type__def]) ).

fof(f_882_2,plain,
    ! [U_4766,U_4765,U_4764] :
      ( ( hBOOL(hAPP(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,U_4766)))))))),fun(ty,bool),is_type(U_4766),U_4765),U_4764))
        | ~ hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4766)))))))),fun(list(char),bool),is_class(U_4766),U_4765)),U_4764)) )
      & ( hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4766)))))))),fun(list(char),bool),is_class(U_4766),U_4765)),U_4764))
        | ~ hBOOL(hAPP(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,U_4766)))))))),fun(ty,bool),is_type(U_4766),U_4765),U_4764)) ) ),
    inference(variable_rename,[status(thm)],[f_882_1]) ).

fof(f_882_3,plain,
    ( ! [U_4772,U_4770,U_4768] :
        ( hBOOL(hAPP(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,U_4772)))))))),fun(ty,bool),is_type(U_4772),U_4770),U_4768))
        | ~ hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4772)))))))),fun(list(char),bool),is_class(U_4772),U_4770)),U_4768)) )
    & ! [U_4771,U_4769,U_4767] :
        ( hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4771)))))))),fun(list(char),bool),is_class(U_4771),U_4769)),U_4767))
        | ~ hBOOL(hAPP(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,U_4771)))))))),fun(ty,bool),is_type(U_4771),U_4769),U_4767)) ) ),
    inference(miniscope,[status(thm)],[f_882_2]) ).

cnf(f_882_4,plain,
    ( hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4771)))))))),fun(list(char),bool),is_class(U_4771),U_4769)),U_4767))
    | ~ hBOOL(hAPP(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,U_4771)))))))),fun(ty,bool),is_type(U_4771),U_4769),U_4767)) ),
    inference(clausify,[status(thm)],[f_882_3]) ).

cnf(f_882_5,plain,
    ( hBOOL(hAPP(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,U_4772)))))))),fun(ty,bool),is_type(U_4772),U_4770),U_4768))
    | ~ hBOOL(hAPP(ty,bool,hAPP(fun(list(char),bool),fun(ty,bool),hAPP(bool,fun(fun(list(char),bool),fun(ty,bool)),hAPP(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))),hAPP(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool)))),hAPP(bool,fun(bool,fun(bool,fun(bool,fun(fun(list(char),bool),fun(ty,bool))))),ty_case(bool),fTrue),fTrue),fTrue),fTrue),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4772)))))))),fun(list(char),bool),is_class(U_4772),U_4770)),U_4768)) ),
    inference(clausify,[status(thm)],[f_882_3]) ).

fof(f_883_1,plain,
    ! [C_1,Lb,Pa,Hb] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != none(nat) ),
    inference(fof_nnf,[status(thm)],[fact_735_red__reds_ORedNewFail]) ).

fof(f_883_2,plain,
    ! [U_4776,U_4775,U_4774,U_4773] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),U_4776)),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))),U_4773),U_4775))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4773),U_4775)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4774)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4773) != none(nat) ),
    inference(variable_rename,[status(thm)],[f_883_1]) ).

cnf(f_883_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),U_4776)),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))),U_4773),U_4775))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4773),U_4775)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4774)))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4773) != none(nat) ),
    inference(clausify,[status(thm)],[f_883_2]) ).

fof(f_884_1,plain,
    ! [Hb,Ea,Pa,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(list(char),ty,class,C_1)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1)) ),
    inference(fof_nnf,[status(thm)],[fact_736_WTrtNew]) ).

fof(f_884_2,plain,
    ! [U_4780,U_4779,U_4778,U_4777] :
      ( 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_1,U_4778),U_4780),U_4779),hAPP(list(char),exp(list(char)),new(list(char)),U_4777)),hAPP(list(char),ty,class,U_4777)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4778),U_4777)) ),
    inference(variable_rename,[status(thm)],[f_884_1]) ).

cnf(f_884_3,plain,
    ( 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_1,U_4778),U_4780),U_4779),hAPP(list(char),exp(list(char)),new(list(char)),U_4777)),hAPP(list(char),ty,class,U_4777)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4778),U_4777)) ),
    inference(clausify,[status(thm)],[f_884_2]) ).

fof(f_885_1,plain,
    ! [Pa,Hb,Ea,C_1,Ta] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1))
        & Ta = hAPP(list(char),ty,class,C_1) )
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_737_WTrt__elim__cases_I10_J]) ).

fof(f_885_2,plain,
    ! [U_4785,U_4784,U_4783,U_4782,U_4781] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4785),U_4782))
        & U_4781 = hAPP(list(char),ty,class,U_4782) )
      | ~ 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_1,U_4785),U_4784),U_4783),hAPP(list(char),exp(list(char)),new(list(char)),U_4782)),U_4781)) ),
    inference(variable_rename,[status(thm)],[f_885_1]) ).

cnf(f_885_3,plain,
    ( U_4781 = hAPP(list(char),ty,class,U_4782)
    | ~ 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_1,U_4785),U_4784),U_4783),hAPP(list(char),exp(list(char)),new(list(char)),U_4782)),U_4781)) ),
    inference(clausify,[status(thm)],[f_885_2]) ).

cnf(f_885_4,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4785),U_4782))
    | ~ 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_1,U_4785),U_4784),U_4783),hAPP(list(char),exp(list(char)),new(list(char)),U_4782)),U_4781)) ),
    inference(clausify,[status(thm)],[f_885_2]) ).

fof(f_886_1,plain,
    ! [X_a,List_2,Exp1,Exp2,Exp3] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_738_exp_Osimps_I36_J]) ).

fof(f_886_2,plain,
    ! [U_4790,U_4789,U_4788,U_4787,U_4786] : hAPP(list(char),exp(U_4790),new(U_4790),U_4789) != hAPP(exp(U_4790),exp(U_4790),hAPP(exp(U_4790),fun(exp(U_4790),exp(U_4790)),hAPP(exp(U_4790),fun(exp(U_4790),fun(exp(U_4790),exp(U_4790))),cond(U_4790),U_4788),U_4787),U_4786),
    inference(variable_rename,[status(thm)],[f_886_1]) ).

cnf(f_886_3,plain,
    hAPP(list(char),exp(U_4790),new(U_4790),U_4789) != hAPP(exp(U_4790),exp(U_4790),hAPP(exp(U_4790),fun(exp(U_4790),exp(U_4790)),hAPP(exp(U_4790),fun(exp(U_4790),fun(exp(U_4790),exp(U_4790))),cond(U_4790),U_4788),U_4787),U_4786),
    inference(clausify,[status(thm)],[f_886_2]) ).

fof(f_887_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_739_exp_Osimps_I37_J]) ).

fof(f_887_2,plain,
    ! [U_4795,U_4794,U_4793,U_4792,U_4791] : hAPP(exp(U_4795),exp(U_4795),hAPP(exp(U_4795),fun(exp(U_4795),exp(U_4795)),hAPP(exp(U_4795),fun(exp(U_4795),fun(exp(U_4795),exp(U_4795))),cond(U_4795),U_4794),U_4793),U_4792) != hAPP(list(char),exp(U_4795),new(U_4795),U_4791),
    inference(variable_rename,[status(thm)],[f_887_1]) ).

cnf(f_887_3,plain,
    hAPP(exp(U_4795),exp(U_4795),hAPP(exp(U_4795),fun(exp(U_4795),exp(U_4795)),hAPP(exp(U_4795),fun(exp(U_4795),fun(exp(U_4795),exp(U_4795))),cond(U_4795),U_4794),U_4793),U_4792) != hAPP(list(char),exp(U_4795),new(U_4795),U_4791),
    inference(clausify,[status(thm)],[f_887_2]) ).

fof(f_888_1,plain,
    ! [X_a,C_1,A_2] : hBOOL(hAPP(option(fun(X_a,bool)),bool,hAPP(exp(X_a),fun(option(fun(X_a,bool)),bool),d(X_a),hAPP(list(char),exp(X_a),new(X_a),C_1)),A_2)),
    inference(fof_nnf,[status(thm)],[fact_740__092_060D_062___092_060D_062s_Osimps_I1_J]) ).

fof(f_888_2,plain,
    ! [U_4798,U_4797,U_4796] : hBOOL(hAPP(option(fun(U_4798,bool)),bool,hAPP(exp(U_4798),fun(option(fun(U_4798,bool)),bool),d(U_4798),hAPP(list(char),exp(U_4798),new(U_4798),U_4797)),U_4796)),
    inference(variable_rename,[status(thm)],[f_888_1]) ).

cnf(f_888_3,plain,
    hBOOL(hAPP(option(fun(U_4798,bool)),bool,hAPP(exp(U_4798),fun(option(fun(U_4798,bool)),bool),d(U_4798),hAPP(list(char),exp(U_4798),new(U_4798),U_4797)),U_4796)),
    inference(clausify,[status(thm)],[f_888_2]) ).

fof(f_889_1,plain,
    ! [X_a,Val_1,List_2] : hAPP(val,exp(X_a),val_1(X_a),Val_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_741_exp_Osimps_I19_J]) ).

fof(f_889_2,plain,
    ! [U_4801,U_4800,U_4799] : hAPP(val,exp(U_4801),val_1(U_4801),U_4800) != hAPP(list(char),exp(U_4801),new(U_4801),U_4799),
    inference(variable_rename,[status(thm)],[f_889_1]) ).

cnf(f_889_3,plain,
    hAPP(val,exp(U_4801),val_1(U_4801),U_4800) != hAPP(list(char),exp(U_4801),new(U_4801),U_4799),
    inference(clausify,[status(thm)],[f_889_2]) ).

fof(f_890_1,plain,
    ! [X_a,List_2,Val_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(val,exp(X_a),val_1(X_a),Val_1),
    inference(fof_nnf,[status(thm)],[fact_742_exp_Osimps_I18_J]) ).

fof(f_890_2,plain,
    ! [U_4804,U_4803,U_4802] : hAPP(list(char),exp(U_4804),new(U_4804),U_4803) != hAPP(val,exp(U_4804),val_1(U_4804),U_4802),
    inference(variable_rename,[status(thm)],[f_890_1]) ).

cnf(f_890_3,plain,
    hAPP(list(char),exp(U_4804),new(U_4804),U_4803) != hAPP(val,exp(U_4804),val_1(U_4804),U_4802),
    inference(clausify,[status(thm)],[f_890_2]) ).

fof(f_891_1,plain,
    ! [X_a,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_743_exp_Osimps_I41_J]) ).

fof(f_891_2,plain,
    ! [U_4807,U_4806,U_4805] : hAPP(exp(U_4807),exp(U_4807),throw(U_4807),U_4806) != hAPP(list(char),exp(U_4807),new(U_4807),U_4805),
    inference(variable_rename,[status(thm)],[f_891_1]) ).

cnf(f_891_3,plain,
    hAPP(exp(U_4807),exp(U_4807),throw(U_4807),U_4806) != hAPP(list(char),exp(U_4807),new(U_4807),U_4805),
    inference(clausify,[status(thm)],[f_891_2]) ).

fof(f_892_1,plain,
    ! [X_a,List_2,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_744_exp_Osimps_I40_J]) ).

fof(f_892_2,plain,
    ! [U_4810,U_4809,U_4808] : hAPP(list(char),exp(U_4810),new(U_4810),U_4809) != hAPP(exp(U_4810),exp(U_4810),throw(U_4810),U_4808),
    inference(variable_rename,[status(thm)],[f_892_1]) ).

cnf(f_892_3,plain,
    hAPP(list(char),exp(U_4810),new(U_4810),U_4809) != hAPP(exp(U_4810),exp(U_4810),throw(U_4810),U_4808),
    inference(clausify,[status(thm)],[f_892_2]) ).

fof(f_893_1,plain,
    ! [X_a,List,List_1] :
      ( ( hAPP(list(char),exp(X_a),new(X_a),List) = hAPP(list(char),exp(X_a),new(X_a),List_1)
        | List != List_1 )
      & ( List = List_1
        | hAPP(list(char),exp(X_a),new(X_a),List) != hAPP(list(char),exp(X_a),new(X_a),List_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_745_exp_Osimps_I1_J]) ).

fof(f_893_2,plain,
    ! [U_4813,U_4812,U_4811] :
      ( ( hAPP(list(char),exp(U_4813),new(U_4813),U_4812) = hAPP(list(char),exp(U_4813),new(U_4813),U_4811)
        | U_4812 != U_4811 )
      & ( U_4812 = U_4811
        | hAPP(list(char),exp(U_4813),new(U_4813),U_4812) != hAPP(list(char),exp(U_4813),new(U_4813),U_4811) ) ),
    inference(variable_rename,[status(thm)],[f_893_1]) ).

fof(f_893_3,plain,
    ( ! [U_4819,U_4817,U_4815] :
        ( hAPP(list(char),exp(U_4819),new(U_4819),U_4817) = hAPP(list(char),exp(U_4819),new(U_4819),U_4815)
        | U_4817 != U_4815 )
    & ! [U_4818,U_4816,U_4814] :
        ( U_4816 = U_4814
        | hAPP(list(char),exp(U_4818),new(U_4818),U_4816) != hAPP(list(char),exp(U_4818),new(U_4818),U_4814) ) ),
    inference(miniscope,[status(thm)],[f_893_2]) ).

cnf(f_893_4,plain,
    ( U_4816 = U_4814
    | hAPP(list(char),exp(U_4818),new(U_4818),U_4816) != hAPP(list(char),exp(U_4818),new(U_4818),U_4814) ),
    inference(clausify,[status(thm)],[f_893_3]) ).

cnf(f_893_5,plain,
    ( hAPP(list(char),exp(U_4819),new(U_4819),U_4817) = hAPP(list(char),exp(U_4819),new(U_4819),U_4815)
    | U_4817 != U_4815 ),
    inference(clausify,[status(thm)],[f_893_3]) ).

fof(f_894_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_746_exp_Osimps_I43_J]) ).

fof(f_894_2,plain,
    ! [U_4825,U_4824,U_4823,U_4822,U_4821,U_4820] : hAPP(exp(U_4825),exp(U_4825),hAPP(U_4825,fun(exp(U_4825),exp(U_4825)),hAPP(list(char),fun(U_4825,fun(exp(U_4825),exp(U_4825))),hAPP(exp(U_4825),fun(list(char),fun(U_4825,fun(exp(U_4825),exp(U_4825)))),tryCatch(U_4825),U_4824),U_4823),U_4822),U_4821) != hAPP(list(char),exp(U_4825),new(U_4825),U_4820),
    inference(variable_rename,[status(thm)],[f_894_1]) ).

cnf(f_894_3,plain,
    hAPP(exp(U_4825),exp(U_4825),hAPP(U_4825,fun(exp(U_4825),exp(U_4825)),hAPP(list(char),fun(U_4825,fun(exp(U_4825),exp(U_4825))),hAPP(exp(U_4825),fun(list(char),fun(U_4825,fun(exp(U_4825),exp(U_4825)))),tryCatch(U_4825),U_4824),U_4823),U_4822),U_4821) != hAPP(list(char),exp(U_4825),new(U_4825),U_4820),
    inference(clausify,[status(thm)],[f_894_2]) ).

fof(f_895_1,plain,
    ! [X_a,List_2,Exp1,List_3,A_6,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_747_exp_Osimps_I42_J]) ).

fof(f_895_2,plain,
    ! [U_4831,U_4830,U_4829,U_4828,U_4827,U_4826] : hAPP(list(char),exp(U_4831),new(U_4831),U_4830) != hAPP(exp(U_4831),exp(U_4831),hAPP(U_4831,fun(exp(U_4831),exp(U_4831)),hAPP(list(char),fun(U_4831,fun(exp(U_4831),exp(U_4831))),hAPP(exp(U_4831),fun(list(char),fun(U_4831,fun(exp(U_4831),exp(U_4831)))),tryCatch(U_4831),U_4829),U_4828),U_4827),U_4826),
    inference(variable_rename,[status(thm)],[f_895_1]) ).

cnf(f_895_3,plain,
    hAPP(list(char),exp(U_4831),new(U_4831),U_4830) != hAPP(exp(U_4831),exp(U_4831),hAPP(U_4831,fun(exp(U_4831),exp(U_4831)),hAPP(list(char),fun(U_4831,fun(exp(U_4831),exp(U_4831))),hAPP(exp(U_4831),fun(list(char),fun(U_4831,fun(exp(U_4831),exp(U_4831)))),tryCatch(U_4831),U_4829),U_4828),U_4827),U_4826),
    inference(clausify,[status(thm)],[f_895_2]) ).

fof(f_896_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,List_2] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_748_exp_Osimps_I27_J]) ).

fof(f_896_2,plain,
    ! [U_4836,U_4835,U_4834,U_4833,U_4832] : hAPP(list(char),exp(U_4836),hAPP(list(char),fun(list(char),exp(U_4836)),hAPP(exp(U_4836),fun(list(char),fun(list(char),exp(U_4836))),fAcc(U_4836),U_4835),U_4834),U_4833) != hAPP(list(char),exp(U_4836),new(U_4836),U_4832),
    inference(variable_rename,[status(thm)],[f_896_1]) ).

cnf(f_896_3,plain,
    hAPP(list(char),exp(U_4836),hAPP(list(char),fun(list(char),exp(U_4836)),hAPP(exp(U_4836),fun(list(char),fun(list(char),exp(U_4836))),fAcc(U_4836),U_4835),U_4834),U_4833) != hAPP(list(char),exp(U_4836),new(U_4836),U_4832),
    inference(clausify,[status(thm)],[f_896_2]) ).

fof(f_897_1,plain,
    ! [X_a,List_2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_749_exp_Osimps_I26_J]) ).

fof(f_897_2,plain,
    ! [U_4841,U_4840,U_4839,U_4838,U_4837] : hAPP(list(char),exp(U_4841),new(U_4841),U_4840) != hAPP(list(char),exp(U_4841),hAPP(list(char),fun(list(char),exp(U_4841)),hAPP(exp(U_4841),fun(list(char),fun(list(char),exp(U_4841))),fAcc(U_4841),U_4839),U_4838),U_4837),
    inference(variable_rename,[status(thm)],[f_897_1]) ).

cnf(f_897_3,plain,
    hAPP(list(char),exp(U_4841),new(U_4841),U_4840) != hAPP(list(char),exp(U_4841),hAPP(list(char),fun(list(char),exp(U_4841)),hAPP(exp(U_4841),fun(list(char),fun(list(char),exp(U_4841))),fAcc(U_4841),U_4839),U_4838),U_4837),
    inference(clausify,[status(thm)],[f_897_2]) ).

fof(f_898_1,plain,
    ! [X_a,List_3,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_3),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_750_exp_Osimps_I17_J]) ).

fof(f_898_2,plain,
    ! [U_4845,U_4844,U_4843,U_4842] : hAPP(exp(U_4845),exp(U_4845),hAPP(list(char),fun(exp(U_4845),exp(U_4845)),cast(U_4845),U_4844),U_4843) != hAPP(list(char),exp(U_4845),new(U_4845),U_4842),
    inference(variable_rename,[status(thm)],[f_898_1]) ).

cnf(f_898_3,plain,
    hAPP(exp(U_4845),exp(U_4845),hAPP(list(char),fun(exp(U_4845),exp(U_4845)),cast(U_4845),U_4844),U_4843) != hAPP(list(char),exp(U_4845),new(U_4845),U_4842),
    inference(clausify,[status(thm)],[f_898_2]) ).

fof(f_899_1,plain,
    ! [X_a,List_2,List_3,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_3),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_751_exp_Osimps_I16_J]) ).

fof(f_899_2,plain,
    ! [U_4849,U_4848,U_4847,U_4846] : hAPP(list(char),exp(U_4849),new(U_4849),U_4848) != hAPP(exp(U_4849),exp(U_4849),hAPP(list(char),fun(exp(U_4849),exp(U_4849)),cast(U_4849),U_4847),U_4846),
    inference(variable_rename,[status(thm)],[f_899_1]) ).

cnf(f_899_3,plain,
    hAPP(list(char),exp(U_4849),new(U_4849),U_4848) != hAPP(exp(U_4849),exp(U_4849),hAPP(list(char),fun(exp(U_4849),exp(U_4849)),cast(U_4849),U_4847),U_4846),
    inference(clausify,[status(thm)],[f_899_2]) ).

fof(f_900_1,plain,
    ! [X_a,Exp1,Bop_1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_752_exp_Osimps_I21_J]) ).

fof(f_900_2,plain,
    ! [U_4854,U_4853,U_4852,U_4851,U_4850] : hAPP(exp(U_4854),exp(U_4854),hAPP(bop,fun(exp(U_4854),exp(U_4854)),hAPP(exp(U_4854),fun(bop,fun(exp(U_4854),exp(U_4854))),binOp(U_4854),U_4853),U_4852),U_4851) != hAPP(list(char),exp(U_4854),new(U_4854),U_4850),
    inference(variable_rename,[status(thm)],[f_900_1]) ).

cnf(f_900_3,plain,
    hAPP(exp(U_4854),exp(U_4854),hAPP(bop,fun(exp(U_4854),exp(U_4854)),hAPP(exp(U_4854),fun(bop,fun(exp(U_4854),exp(U_4854))),binOp(U_4854),U_4853),U_4852),U_4851) != hAPP(list(char),exp(U_4854),new(U_4854),U_4850),
    inference(clausify,[status(thm)],[f_900_2]) ).

fof(f_901_1,plain,
    ! [X_a,List_2,Exp1,Bop_1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1),Bop_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_753_exp_Osimps_I20_J]) ).

fof(f_901_2,plain,
    ! [U_4859,U_4858,U_4857,U_4856,U_4855] : hAPP(list(char),exp(U_4859),new(U_4859),U_4858) != hAPP(exp(U_4859),exp(U_4859),hAPP(bop,fun(exp(U_4859),exp(U_4859)),hAPP(exp(U_4859),fun(bop,fun(exp(U_4859),exp(U_4859))),binOp(U_4859),U_4857),U_4856),U_4855),
    inference(variable_rename,[status(thm)],[f_901_1]) ).

cnf(f_901_3,plain,
    hAPP(list(char),exp(U_4859),new(U_4859),U_4858) != hAPP(exp(U_4859),exp(U_4859),hAPP(bop,fun(exp(U_4859),exp(U_4859)),hAPP(exp(U_4859),fun(bop,fun(exp(U_4859),exp(U_4859))),binOp(U_4859),U_4857),U_4856),U_4855),
    inference(clausify,[status(thm)],[f_901_2]) ).

fof(f_902_1,plain,
    ! [X_a,List_2,A_6,Ty,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_754_exp_Osimps_I32_J]) ).

fof(f_902_2,plain,
    ! [U_4864,U_4863,U_4862,U_4861,U_4860] : hAPP(list(char),exp(U_4864),new(U_4864),U_4863) != hAPP(exp(U_4864),exp(U_4864),hAPP(ty,fun(exp(U_4864),exp(U_4864)),hAPP(U_4864,fun(ty,fun(exp(U_4864),exp(U_4864))),block(U_4864),U_4862),U_4861),U_4860),
    inference(variable_rename,[status(thm)],[f_902_1]) ).

cnf(f_902_3,plain,
    hAPP(list(char),exp(U_4864),new(U_4864),U_4863) != hAPP(exp(U_4864),exp(U_4864),hAPP(ty,fun(exp(U_4864),exp(U_4864)),hAPP(U_4864,fun(ty,fun(exp(U_4864),exp(U_4864))),block(U_4864),U_4862),U_4861),U_4860),
    inference(clausify,[status(thm)],[f_902_2]) ).

fof(f_903_1,plain,
    ! [X_a,A_6,Ty,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_755_exp_Osimps_I33_J]) ).

fof(f_903_2,plain,
    ! [U_4869,U_4868,U_4867,U_4866,U_4865] : hAPP(exp(U_4869),exp(U_4869),hAPP(ty,fun(exp(U_4869),exp(U_4869)),hAPP(U_4869,fun(ty,fun(exp(U_4869),exp(U_4869))),block(U_4869),U_4868),U_4867),U_4866) != hAPP(list(char),exp(U_4869),new(U_4869),U_4865),
    inference(variable_rename,[status(thm)],[f_903_1]) ).

cnf(f_903_3,plain,
    hAPP(exp(U_4869),exp(U_4869),hAPP(ty,fun(exp(U_4869),exp(U_4869)),hAPP(U_4869,fun(ty,fun(exp(U_4869),exp(U_4869))),block(U_4869),U_4868),U_4867),U_4866) != hAPP(list(char),exp(U_4869),new(U_4869),U_4865),
    inference(clausify,[status(thm)],[f_903_2]) ).

fof(f_904_1,plain,
    ! [X_a,Exp1,List1_1,List2_1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_756_exp_Osimps_I29_J]) ).

fof(f_904_2,plain,
    ! [U_4875,U_4874,U_4873,U_4872,U_4871,U_4870] : hAPP(exp(U_4875),exp(U_4875),hAPP(list(char),fun(exp(U_4875),exp(U_4875)),hAPP(list(char),fun(list(char),fun(exp(U_4875),exp(U_4875))),hAPP(exp(U_4875),fun(list(char),fun(list(char),fun(exp(U_4875),exp(U_4875)))),fAss(U_4875),U_4874),U_4873),U_4872),U_4871) != hAPP(list(char),exp(U_4875),new(U_4875),U_4870),
    inference(variable_rename,[status(thm)],[f_904_1]) ).

cnf(f_904_3,plain,
    hAPP(exp(U_4875),exp(U_4875),hAPP(list(char),fun(exp(U_4875),exp(U_4875)),hAPP(list(char),fun(list(char),fun(exp(U_4875),exp(U_4875))),hAPP(exp(U_4875),fun(list(char),fun(list(char),fun(exp(U_4875),exp(U_4875)))),fAss(U_4875),U_4874),U_4873),U_4872),U_4871) != hAPP(list(char),exp(U_4875),new(U_4875),U_4870),
    inference(clausify,[status(thm)],[f_904_2]) ).

fof(f_905_1,plain,
    ! [X_a,List_2,Exp1,List1_1,List2_1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1),List1_1),List2_1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_757_exp_Osimps_I28_J]) ).

fof(f_905_2,plain,
    ! [U_4881,U_4880,U_4879,U_4878,U_4877,U_4876] : hAPP(list(char),exp(U_4881),new(U_4881),U_4880) != hAPP(exp(U_4881),exp(U_4881),hAPP(list(char),fun(exp(U_4881),exp(U_4881)),hAPP(list(char),fun(list(char),fun(exp(U_4881),exp(U_4881))),hAPP(exp(U_4881),fun(list(char),fun(list(char),fun(exp(U_4881),exp(U_4881)))),fAss(U_4881),U_4879),U_4878),U_4877),U_4876),
    inference(variable_rename,[status(thm)],[f_905_1]) ).

cnf(f_905_3,plain,
    hAPP(list(char),exp(U_4881),new(U_4881),U_4880) != hAPP(exp(U_4881),exp(U_4881),hAPP(list(char),fun(exp(U_4881),exp(U_4881)),hAPP(list(char),fun(list(char),fun(exp(U_4881),exp(U_4881))),hAPP(exp(U_4881),fun(list(char),fun(list(char),fun(exp(U_4881),exp(U_4881)))),fAss(U_4881),U_4879),U_4878),U_4877),U_4876),
    inference(clausify,[status(thm)],[f_905_2]) ).

fof(f_906_1,plain,
    ! [X_a,List_2,Exp1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_758_exp_Osimps_I34_J]) ).

fof(f_906_2,plain,
    ! [U_4885,U_4884,U_4883,U_4882] : hAPP(list(char),exp(U_4885),new(U_4885),U_4884) != hAPP(exp(U_4885),exp(U_4885),hAPP(exp(U_4885),fun(exp(U_4885),exp(U_4885)),seq(U_4885),U_4883),U_4882),
    inference(variable_rename,[status(thm)],[f_906_1]) ).

cnf(f_906_3,plain,
    hAPP(list(char),exp(U_4885),new(U_4885),U_4884) != hAPP(exp(U_4885),exp(U_4885),hAPP(exp(U_4885),fun(exp(U_4885),exp(U_4885)),seq(U_4885),U_4883),U_4882),
    inference(clausify,[status(thm)],[f_906_2]) ).

fof(f_907_1,plain,
    ! [X_a,List_2,A_6,Exp_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_759_exp_Osimps_I24_J]) ).

fof(f_907_2,plain,
    ! [U_4889,U_4888,U_4887,U_4886] : hAPP(list(char),exp(U_4889),new(U_4889),U_4888) != hAPP(exp(U_4889),exp(U_4889),hAPP(U_4889,fun(exp(U_4889),exp(U_4889)),lAss(U_4889),U_4887),U_4886),
    inference(variable_rename,[status(thm)],[f_907_1]) ).

cnf(f_907_3,plain,
    hAPP(list(char),exp(U_4889),new(U_4889),U_4888) != hAPP(exp(U_4889),exp(U_4889),hAPP(U_4889,fun(exp(U_4889),exp(U_4889)),lAss(U_4889),U_4887),U_4886),
    inference(clausify,[status(thm)],[f_907_2]) ).

fof(f_908_1,plain,
    ! [X_a,Exp1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_760_exp_Osimps_I35_J]) ).

fof(f_908_2,plain,
    ! [U_4893,U_4892,U_4891,U_4890] : hAPP(exp(U_4893),exp(U_4893),hAPP(exp(U_4893),fun(exp(U_4893),exp(U_4893)),seq(U_4893),U_4892),U_4891) != hAPP(list(char),exp(U_4893),new(U_4893),U_4890),
    inference(variable_rename,[status(thm)],[f_908_1]) ).

cnf(f_908_3,plain,
    hAPP(exp(U_4893),exp(U_4893),hAPP(exp(U_4893),fun(exp(U_4893),exp(U_4893)),seq(U_4893),U_4892),U_4891) != hAPP(list(char),exp(U_4893),new(U_4893),U_4890),
    inference(clausify,[status(thm)],[f_908_2]) ).

fof(f_909_1,plain,
    ! [X_a,A_6,Exp_1,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_6),Exp_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_761_exp_Osimps_I25_J]) ).

fof(f_909_2,plain,
    ! [U_4897,U_4896,U_4895,U_4894] : hAPP(exp(U_4897),exp(U_4897),hAPP(U_4897,fun(exp(U_4897),exp(U_4897)),lAss(U_4897),U_4896),U_4895) != hAPP(list(char),exp(U_4897),new(U_4897),U_4894),
    inference(variable_rename,[status(thm)],[f_909_1]) ).

cnf(f_909_3,plain,
    hAPP(exp(U_4897),exp(U_4897),hAPP(U_4897,fun(exp(U_4897),exp(U_4897)),lAss(U_4897),U_4896),U_4895) != hAPP(list(char),exp(U_4897),new(U_4897),U_4894),
    inference(clausify,[status(thm)],[f_909_2]) ).

fof(f_910_1,plain,
    ! [X_a,List_2,Exp1,Exp2] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_762_exp_Osimps_I38_J]) ).

fof(f_910_2,plain,
    ! [U_4901,U_4900,U_4899,U_4898] : hAPP(list(char),exp(U_4901),new(U_4901),U_4900) != hAPP(exp(U_4901),exp(U_4901),hAPP(exp(U_4901),fun(exp(U_4901),exp(U_4901)),while(U_4901),U_4899),U_4898),
    inference(variable_rename,[status(thm)],[f_910_1]) ).

cnf(f_910_3,plain,
    hAPP(list(char),exp(U_4901),new(U_4901),U_4900) != hAPP(exp(U_4901),exp(U_4901),hAPP(exp(U_4901),fun(exp(U_4901),exp(U_4901)),while(U_4901),U_4899),U_4898),
    inference(clausify,[status(thm)],[f_910_2]) ).

fof(f_911_1,plain,
    ! [X_a,Exp1,Exp2,List_2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_763_exp_Osimps_I39_J]) ).

fof(f_911_2,plain,
    ! [U_4905,U_4904,U_4903,U_4902] : hAPP(exp(U_4905),exp(U_4905),hAPP(exp(U_4905),fun(exp(U_4905),exp(U_4905)),while(U_4905),U_4904),U_4903) != hAPP(list(char),exp(U_4905),new(U_4905),U_4902),
    inference(variable_rename,[status(thm)],[f_911_1]) ).

cnf(f_911_3,plain,
    hAPP(exp(U_4905),exp(U_4905),hAPP(exp(U_4905),fun(exp(U_4905),exp(U_4905)),while(U_4905),U_4904),U_4903) != hAPP(list(char),exp(U_4905),new(U_4905),U_4902),
    inference(clausify,[status(thm)],[f_911_2]) ).

fof(f_912_1,plain,
    ! [Hb,A_1] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_1) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != hAPP(nat,option(nat),some(nat),A_1) ),
    inference(fof_nnf,[status(thm)],[fact_764_new__Addr__SomeD]) ).

fof(f_912_2,plain,
    ! [U_4907,U_4906] :
      ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4907,U_4906) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4907) != hAPP(nat,option(nat),some(nat),U_4906) ),
    inference(variable_rename,[status(thm)],[f_912_1]) ).

cnf(f_912_3,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_4907,U_4906) = none(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4907) != hAPP(nat,option(nat),some(nat),U_4906) ),
    inference(clausify,[status(thm)],[f_912_2]) ).

fof(f_913_1,plain,
    ! [X_a,F1_1,F2_1,F3,F4,F5,List] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),hAPP(list(char),ty,class,List)) = hAPP(list(char),X_a,F5,List),
    inference(fof_nnf,[status(thm)],[fact_765_ty_Osimps_I26_J]) ).

fof(f_913_2,plain,
    ! [U_4914,U_4913,U_4912,U_4911,U_4910,U_4909,U_4908] : hAPP(ty,U_4914,hAPP(fun(list(char),U_4914),fun(ty,U_4914),hAPP(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914)),hAPP(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914))),hAPP(U_4914,fun(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914)))),hAPP(U_4914,fun(U_4914,fun(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914))))),ty_case(U_4914),U_4913),U_4912),U_4911),U_4910),U_4909),hAPP(list(char),ty,class,U_4908)) = hAPP(list(char),U_4914,U_4909,U_4908),
    inference(variable_rename,[status(thm)],[f_913_1]) ).

cnf(f_913_3,plain,
    hAPP(ty,U_4914,hAPP(fun(list(char),U_4914),fun(ty,U_4914),hAPP(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914)),hAPP(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914))),hAPP(U_4914,fun(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914)))),hAPP(U_4914,fun(U_4914,fun(U_4914,fun(U_4914,fun(fun(list(char),U_4914),fun(ty,U_4914))))),ty_case(U_4914),U_4913),U_4912),U_4911),U_4910),U_4909),hAPP(list(char),ty,class,U_4908)) = hAPP(list(char),U_4914,U_4909,U_4908),
    inference(clausify,[status(thm)],[f_913_2]) ).

fof(f_914_1,plain,
    ! [X_a,F1_1,F2_1,F3,F4,F5] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),void) = ti(X_a,F1_1),
    inference(fof_nnf,[status(thm)],[fact_766_ty_Osimps_I22_J]) ).

fof(f_914_2,plain,
    ! [U_4920,U_4919,U_4918,U_4917,U_4916,U_4915] : hAPP(ty,U_4920,hAPP(fun(list(char),U_4920),fun(ty,U_4920),hAPP(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920)),hAPP(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920))),hAPP(U_4920,fun(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920)))),hAPP(U_4920,fun(U_4920,fun(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920))))),ty_case(U_4920),U_4919),U_4918),U_4917),U_4916),U_4915),void) = ti(U_4920,U_4919),
    inference(variable_rename,[status(thm)],[f_914_1]) ).

cnf(f_914_3,plain,
    hAPP(ty,U_4920,hAPP(fun(list(char),U_4920),fun(ty,U_4920),hAPP(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920)),hAPP(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920))),hAPP(U_4920,fun(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920)))),hAPP(U_4920,fun(U_4920,fun(U_4920,fun(U_4920,fun(fun(list(char),U_4920),fun(ty,U_4920))))),ty_case(U_4920),U_4919),U_4918),U_4917),U_4916),U_4915),void) = ti(U_4920,U_4919),
    inference(clausify,[status(thm)],[f_914_2]) ).

fof(f_915_1,plain,
    ! [X_a,F1_1,F2_1,F3,F4,F5] : hAPP(ty,X_a,hAPP(fun(list(char),X_a),fun(ty,X_a),hAPP(X_a,fun(fun(list(char),X_a),fun(ty,X_a)),hAPP(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))),hAPP(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a)))),hAPP(X_a,fun(X_a,fun(X_a,fun(X_a,fun(fun(list(char),X_a),fun(ty,X_a))))),ty_case(X_a),F1_1),F2_1),F3),F4),F5),nt) = ti(X_a,F4),
    inference(fof_nnf,[status(thm)],[fact_767_ty_Osimps_I25_J]) ).

fof(f_915_2,plain,
    ! [U_4926,U_4925,U_4924,U_4923,U_4922,U_4921] : hAPP(ty,U_4926,hAPP(fun(list(char),U_4926),fun(ty,U_4926),hAPP(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926)),hAPP(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926))),hAPP(U_4926,fun(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926)))),hAPP(U_4926,fun(U_4926,fun(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926))))),ty_case(U_4926),U_4925),U_4924),U_4923),U_4922),U_4921),nt) = ti(U_4926,U_4922),
    inference(variable_rename,[status(thm)],[f_915_1]) ).

cnf(f_915_3,plain,
    hAPP(ty,U_4926,hAPP(fun(list(char),U_4926),fun(ty,U_4926),hAPP(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926)),hAPP(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926))),hAPP(U_4926,fun(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926)))),hAPP(U_4926,fun(U_4926,fun(U_4926,fun(U_4926,fun(fun(list(char),U_4926),fun(ty,U_4926))))),ty_case(U_4926),U_4925),U_4924),U_4923),U_4922),U_4921),nt) = ti(U_4926,U_4922),
    inference(clausify,[status(thm)],[f_915_2]) ).

fof(f_916_1,plain,
    ! [Hb,Ea,Pa,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(list(char),ty,class,C_1)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),Pa),C_1)) ),
    inference(fof_nnf,[status(thm)],[fact_768_WTrt_H__WTrts_H_Ointros_I1_J]) ).

fof(f_916_2,plain,
    ! [U_4930,U_4929,U_4928,U_4927] :
      ( 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,U_4928),U_4930),U_4929),hAPP(list(char),exp(list(char)),new(list(char)),U_4927)),hAPP(list(char),ty,class,U_4927)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4928),U_4927)) ),
    inference(variable_rename,[status(thm)],[f_916_1]) ).

cnf(f_916_3,plain,
    ( 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,U_4928),U_4930),U_4929),hAPP(list(char),exp(list(char)),new(list(char)),U_4927)),hAPP(list(char),ty,class,U_4927)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),bool),is_class(product_prod(list(list(char)),exp(list(char)))),U_4928),U_4927)) ),
    inference(clausify,[status(thm)],[f_916_2]) ).

fof(f_917_1,plain,
    ! [Pa,C_1,Lb,Hb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != none(nat) ),
    inference(fof_nnf,[status(thm)],[fact_769_NewFail]) ).

fof(f_917_2,plain,
    ! [U_4934,U_4933,U_4932,U_4931] :
      ( 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,U_4934),hAPP(list(char),exp(list(char)),new(list(char)),U_4933)),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))),U_4931),U_4932)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4931),U_4932)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4931) != none(nat) ),
    inference(variable_rename,[status(thm)],[f_917_1]) ).

cnf(f_917_3,plain,
    ( 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,U_4934),hAPP(list(char),exp(list(char)),new(list(char)),U_4933)),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))),U_4931),U_4932)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4931),U_4932)))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4931) != none(nat) ),
    inference(clausify,[status(thm)],[f_917_2]) ).

fof(f_918_1,plain,
    ! [Pa,C_1,Lb,Hb] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),Hb),Lb)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != none(nat) ),
    inference(fof_nnf,[status(thm)],[fact_770_redp__redsp_ORedNewFail]) ).

fof(f_918_2,plain,
    ! [U_4938,U_4937,U_4936,U_4935] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4938),hAPP(list(char),exp(list(char)),new(list(char)),U_4937)),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))),U_4935),U_4936)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4935),U_4936)))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4935) != none(nat) ),
    inference(variable_rename,[status(thm)],[f_918_1]) ).

cnf(f_918_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4938),hAPP(list(char),exp(list(char)),new(list(char)),U_4937)),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))),U_4935),U_4936)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,outOfMemory))))),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))),U_4935),U_4936)))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4935) != none(nat) ),
    inference(clausify,[status(thm)],[f_918_2]) ).

fof(f_919_1,plain,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))
      | H_b != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != hAPP(nat,option(nat),some(nat),A_1) ),
    inference(fof_nnf,[status(thm)],[fact_771_red__reds_ORedNew]) ).

fof(f_919_2,plain,
    ! [U_4945,U_4944,U_4943,U_4942,U_4941,U_4940,U_4939] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),U_4942)),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))),U_4940),U_4945))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4939))),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))),U_4944),U_4945)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4943)))
      | U_4944 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4940),U_4939),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))),U_4942),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4941))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4943),U_4942),U_4941))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4940) != hAPP(nat,option(nat),some(nat),U_4939) ),
    inference(variable_rename,[status(thm)],[f_919_1]) ).

cnf(f_919_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(char),exp(list(char)),new(list(char)),U_4942)),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))),U_4940),U_4945))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4939))),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))),U_4944),U_4945)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_4943)))
    | U_4944 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4940),U_4939),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))),U_4942),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4941))))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4943),U_4942),U_4941))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4940) != hAPP(nat,option(nat),some(nat),U_4939) ),
    inference(clausify,[status(thm)],[f_919_2]) ).

fof(f_920_1,plain,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb)))
      | H_b != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != hAPP(nat,option(nat),some(nat),A_1) ),
    inference(fof_nnf,[status(thm)],[fact_772_redp__redsp_ORedNew]) ).

fof(f_920_2,plain,
    ! [U_4952,U_4951,U_4950,U_4949,U_4948,U_4947,U_4946] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4950),hAPP(list(char),exp(list(char)),new(list(char)),U_4949)),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))),U_4947),U_4952)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4946))),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))),U_4951),U_4952)))
      | U_4951 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4947),U_4946),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))),U_4949),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4948))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4950),U_4949),U_4948))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4947) != hAPP(nat,option(nat),some(nat),U_4946) ),
    inference(variable_rename,[status(thm)],[f_920_1]) ).

cnf(f_920_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_4950),hAPP(list(char),exp(list(char)),new(list(char)),U_4949)),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))),U_4947),U_4952)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4946))),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))),U_4951),U_4952)))
    | U_4951 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4947),U_4946),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))),U_4949),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4948))))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4950),U_4949),U_4948))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4947) != hAPP(nat,option(nat),some(nat),U_4946) ),
    inference(clausify,[status(thm)],[f_920_2]) ).

fof(f_921_1,plain,
    ! [X_a,FDTs_3,P,C_4,FDTs_2] :
      ( FDTs_3 = FDTs_2
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_3))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_2)) ),
    inference(fof_nnf,[status(thm)],[fact_773_has__fields__fun]) ).

fof(f_921_2,plain,
    ! [U_4957,U_4956,U_4955,U_4954,U_4953] :
      ( U_4956 = U_4953
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4957)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4957),U_4955),U_4954),U_4956))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4957)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4957),U_4955),U_4954),U_4953)) ),
    inference(variable_rename,[status(thm)],[f_921_1]) ).

cnf(f_921_3,plain,
    ( U_4956 = U_4953
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4957)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4957),U_4955),U_4954),U_4956))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4957)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4957),U_4955),U_4954),U_4953)) ),
    inference(clausify,[status(thm)],[f_921_2]) ).

fof(f_922_1,plain,
    ! [X_a,Hb,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(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(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,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(X_a),Pa),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs)) ),
    inference(fof_nnf,[status(thm)],[fact_774_oconf__init__fields]) ).

fof(f_922_2,plain,
    ! [U_4962,U_4961,U_4960,U_4959,U_4958] :
      ( hBOOL(hAPP(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(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,U_4962)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_4962),U_4960),U_4961),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))),U_4959),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4958))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4962)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4962),U_4960),U_4959),U_4958)) ),
    inference(variable_rename,[status(thm)],[f_922_1]) ).

cnf(f_922_3,plain,
    ( hBOOL(hAPP(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(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,U_4962)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),bool)),oconf(U_4962),U_4960),U_4961),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))),U_4959),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4958))))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4962)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4962),U_4960),U_4959),U_4958)) ),
    inference(clausify,[status(thm)],[f_922_2]) ).

fof(f_923_1,plain,
    ! [Lb,H_b,Pa,C_1,FDTs,Hb,A_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(list(char),exp(list(char)),new(list(char)),C_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),Hb),Lb)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_b),Lb)))
      | H_b != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),Hb),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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,FDTs))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),FDTs))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,Hb) != hAPP(nat,option(nat),some(nat),A_1) ),
    inference(fof_nnf,[status(thm)],[fact_775_New]) ).

fof(f_923_2,plain,
    ! [U_4969,U_4968,U_4967,U_4966,U_4965,U_4964,U_4963] :
      ( 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,U_4967),hAPP(list(char),exp(list(char)),new(list(char)),U_4966)),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))),U_4964),U_4969)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4963))),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))),U_4968),U_4969)))
      | U_4968 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4964),U_4963),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))),U_4966),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4965))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4967),U_4966),U_4965))
      | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4964) != hAPP(nat,option(nat),some(nat),U_4963) ),
    inference(variable_rename,[status(thm)],[f_923_1]) ).

cnf(f_923_3,plain,
    ( 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,U_4967),hAPP(list(char),exp(list(char)),new(list(char)),U_4966)),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))),U_4964),U_4969)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_4963))),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))),U_4968),U_4969)))
    | U_4968 != hAPP(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hAPP(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(nat,fun(option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))))),fun_upd(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),U_4964),U_4963),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))),U_4966),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,U_4965))))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(product_prod(list(list(char)),exp(list(char)))),U_4967),U_4966),U_4965))
    | hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),option(nat),new_Addr,U_4964) != hAPP(nat,option(nat),some(nat),U_4963) ),
    inference(clausify,[status(thm)],[f_923_2]) ).

fof(f_924_1,plain,
    ! [X_a,C_1,Wf_md,Pa] :
      ( ? [X1] : hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),X1))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),Pa),C_1))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_776_wf__Fields__Ex]) ).

fof(f_924_2,plain,
    ! [U_4974,U_4973,U_4972,U_4971] :
      ( ? [U_4970] : hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4974)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4974),U_4971),U_4973),U_4970))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),fun(list(char),bool),is_class(U_4974),U_4971),U_4973))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),bool,hAPP(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,U_4974)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974))),bool))),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,U_4974)))))))),bool),wf_prog(U_4974),U_4972),U_4971)) ),
    inference(variable_rename,[status(thm)],[f_924_1]) ).

fof(f_924_3,plain,
    ! [U_4974,U_4973,U_4972,U_4971] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4974)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4974),U_4971),U_4973),sK201(U_4974,U_4973,U_4972,U_4971)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),fun(list(char),bool),is_class(U_4974),U_4971),U_4973))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),bool,hAPP(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,U_4974)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974))),bool))),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,U_4974)))))))),bool),wf_prog(U_4974),U_4972),U_4971)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK201]),skolemize(U_4970,sK201(U_4974,U_4973,U_4972,U_4971))],[f_924_2]) ).

cnf(f_924_4,plain,
    ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4974)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4974),U_4971),U_4973),sK201(U_4974,U_4973,U_4972,U_4971)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),fun(list(char),bool),is_class(U_4974),U_4971),U_4973))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974)))))))),bool,hAPP(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,U_4974)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4974))),bool))),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,U_4974)))))))),bool),wf_prog(U_4974),U_4972),U_4971)) ),
    inference(clausify,[status(thm)],[f_924_3]) ).

fof(f_925_1,plain,
    ! [X_a,Pa,C_1] : hAPP(list(char),product_prod(list(char),fun(product_prod(list(char),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,X_a)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(X_a),Pa),C_1) = 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),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(X_a),Pa),C_1))),
    inference(fof_nnf,[status(thm)],[fact_777_blank__def]) ).

fof(f_925_2,plain,
    ! [U_4977,U_4976,U_4975] : hAPP(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_4977)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_4977),U_4976),U_4975) = 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))),U_4975),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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,U_4977)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(U_4977),U_4976),U_4975))),
    inference(variable_rename,[status(thm)],[f_925_1]) ).

cnf(f_925_3,plain,
    hAPP(list(char),product_prod(list(char),fun(product_prod(list(char),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,U_4977)))))))),fun(list(char),product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),blank(U_4977),U_4976),U_4975) = 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))),U_4975),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(list(char),list(char)),option(val)),init_fields,hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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,U_4977)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(U_4977),U_4976),U_4975))),
    inference(clausify,[status(thm)],[f_925_2]) ).

fof(f_926_1,plain,
    ! [X_a,P,C_4,FDTs_2] :
      ( hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(X_a),P),C_4) = FDTs_2
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),P),C_4),FDTs_2)) ),
    inference(fof_nnf,[status(thm)],[fact_778_fields__def2]) ).

fof(f_926_2,plain,
    ! [U_4981,U_4980,U_4979,U_4978] :
      ( hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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,U_4981)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(U_4981),U_4980),U_4979) = U_4978
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4981)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4981),U_4980),U_4979),U_4978)) ),
    inference(variable_rename,[status(thm)],[f_926_1]) ).

cnf(f_926_3,plain,
    ( hAPP(list(char),list(product_prod(product_prod(list(char),list(char)),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,U_4981)))))))),fun(list(char),list(product_prod(product_prod(list(char),list(char)),ty))),fields_1(U_4981),U_4980),U_4979) = U_4978
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4981)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4981),U_4980),U_4979),U_4978)) ),
    inference(clausify,[status(thm)],[f_926_2]) ).

fof(f_927_1,plain,
    ! [X_a,FDTs,Pa,D_2,Fs,Ms] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),object),FDTs))
      | FDTs != hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),object)))),Fs)
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),object) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms))) ),
    inference(fof_nnf,[status(thm)],[fact_779_has__fields__Object]) ).

fof(f_927_2,plain,
    ! [U_4987,U_4986,U_4985,U_4984,U_4983,U_4982] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4987)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4987),U_4985),object),U_4986))
      | U_4986 != hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),object)))),U_4983)
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),class_1(U_4987),U_4985),object) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),U_4984),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),U_4983),U_4982))) ),
    inference(variable_rename,[status(thm)],[f_927_1]) ).

fof(f_927_3,plain,
    ! [U_4987,U_4986,U_4985,U_4984,U_4983] :
      ( ! [U_4982] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),class_1(U_4987),U_4985),object) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),U_4984),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),U_4983),U_4982)))
      | hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4987)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4987),U_4985),object),U_4986))
      | U_4986 != hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),object)))),U_4983) ),
    inference(miniscope,[status(thm)],[f_927_2]) ).

cnf(f_927_4,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))))),class_1(U_4987),U_4985),object) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),U_4984),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4987))))),U_4983),U_4982)))
    | hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_4987)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_4987),U_4985),object),U_4986))
    | U_4986 != hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),object)))),U_4983) ),
    inference(clausify,[status(thm)],[f_927_3]) ).

fof(f_928_1,plain,
    ! [X_a,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1),Ta),D_2)) ),
    inference(fof_nnf,[status(thm)],[fact_780_sees__field__decl__above]) ).

fof(f_928_2,plain,
    ! [U_4993,U_4992,U_4991,U_4990,U_4989,U_4988] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4991),U_4988)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4993)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4993),U_4992))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4993)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_4993),U_4992),U_4991),U_4990),U_4989),U_4988)) ),
    inference(variable_rename,[status(thm)],[f_928_1]) ).

cnf(f_928_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_4991),U_4988)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4993)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_4993),U_4992))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_4993)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_4993),U_4992),U_4991),U_4990),U_4989),U_4988)) ),
    inference(clausify,[status(thm)],[f_928_2]) ).

fof(f_929_1,plain,
    ! [X_a,T_4,D_5,P,C_4,F_2,T_3,D_4] :
      ( ( D_5 = D_4
        & T_4 = T_3 )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_4),D_5))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_781_sees__field__fun]) ).

fof(f_929_2,plain,
    ! [U_5001,U_5000,U_4999,U_4998,U_4997,U_4996,U_4995,U_4994] :
      ( ( U_4999 = U_4994
        & U_5000 = U_4995 )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_5000),U_4999))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_4995),U_4994)) ),
    inference(variable_rename,[status(thm)],[f_929_1]) ).

cnf(f_929_3,plain,
    ( U_5000 = U_4995
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_5000),U_4999))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_4995),U_4994)) ),
    inference(clausify,[status(thm)],[f_929_2]) ).

cnf(f_929_4,plain,
    ( U_4999 = U_4994
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_5000),U_4999))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5001)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5001),U_4998),U_4997),U_4996),U_4995),U_4994)) ),
    inference(clausify,[status(thm)],[f_929_2]) ).

fof(f_930_1,plain,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),D_4),F_2),T_3),D_4))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_782_sees__field__idemp]) ).

fof(f_930_2,plain,
    ! [U_5007,U_5006,U_5005,U_5004,U_5003,U_5002] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5007)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5007),U_5006),U_5002),U_5004),U_5003),U_5002))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5007)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5007),U_5006),U_5005),U_5004),U_5003),U_5002)) ),
    inference(variable_rename,[status(thm)],[f_930_1]) ).

cnf(f_930_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5007)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5007),U_5006),U_5002),U_5004),U_5003),U_5002))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5007)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5007),U_5006),U_5005),U_5004),U_5003),U_5002)) ),
    inference(clausify,[status(thm)],[f_930_2]) ).

fof(f_931_1,plain,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(X_a),P),C_4),F_2),T_3),D_4))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_783_has__visible__field]) ).

fof(f_931_2,plain,
    ! [U_5013,U_5012,U_5011,U_5010,U_5009,U_5008] :
      ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5013)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_5013),U_5012),U_5011),U_5010),U_5009),U_5008))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5013)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5013),U_5012),U_5011),U_5010),U_5009),U_5008)) ),
    inference(variable_rename,[status(thm)],[f_931_1]) ).

cnf(f_931_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5013)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),has_field(U_5013),U_5012),U_5011),U_5010),U_5009),U_5008))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5013)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5013),U_5012),U_5011),U_5010),U_5009),U_5008)) ),
    inference(clausify,[status(thm)],[f_931_2]) ).

fof(f_932_1,plain,
    ! [X_a,Wf_md,Pa,C_1,F_1,Ta,D_2] :
      ( hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1),Ta),D_2)) ),
    inference(fof_nnf,[status(thm)],[fact_784_sees__field__is__type]) ).

fof(f_932_2,plain,
    ! [U_5020,U_5019,U_5018,U_5017,U_5016,U_5015,U_5014] :
      ( hBOOL(hAPP(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,U_5020)))))))),fun(ty,bool),is_type(U_5020),U_5018),U_5015))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),bool,hAPP(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,U_5020)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020))),bool))),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,U_5020)))))))),bool),wf_prog(U_5020),U_5019),U_5018))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5020),U_5018),U_5017),U_5016),U_5015),U_5014)) ),
    inference(variable_rename,[status(thm)],[f_932_1]) ).

fof(f_932_3,plain,
    ! [U_5020,U_5019,U_5018,U_5017,U_5016,U_5015] :
      ( ! [U_5014] : ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5020),U_5018),U_5017),U_5016),U_5015),U_5014))
      | hBOOL(hAPP(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,U_5020)))))))),fun(ty,bool),is_type(U_5020),U_5018),U_5015))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),bool,hAPP(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,U_5020)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020))),bool))),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,U_5020)))))))),bool),wf_prog(U_5020),U_5019),U_5018)) ),
    inference(miniscope,[status(thm)],[f_932_2]) ).

cnf(f_932_4,plain,
    ( ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5020),U_5018),U_5017),U_5016),U_5015),U_5014))
    | hBOOL(hAPP(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,U_5020)))))))),fun(ty,bool),is_type(U_5020),U_5018),U_5015))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020)))))))),bool,hAPP(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,U_5020)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5020))),bool))),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,U_5020)))))))),bool),wf_prog(U_5020),U_5019),U_5018)) ),
    inference(clausify,[status(thm)],[f_932_3]) ).

fof(f_933_1,plain,
    ! [X_a,FDTs_1,FDTs,Pa,C_1,D_2,Fs,Ms] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs_1))
      | FDTs_1 != hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),append(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),C_1)))),Fs)),FDTs)
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),D_2),FDTs))
      | C_1 = object
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),C_1) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms))) ),
    inference(fof_nnf,[status(thm)],[fact_785_has__fields__rec]) ).

fof(f_933_2,plain,
    ! [U_5028,U_5027,U_5026,U_5025,U_5024,U_5023,U_5022,U_5021] :
      ( hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5024),U_5027))
      | U_5027 != hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),append(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),U_5024)))),U_5022)),U_5026)
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5023),U_5026))
      | U_5024 = object
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),class_1(U_5028),U_5025),U_5024) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),U_5023),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),U_5022),U_5021))) ),
    inference(variable_rename,[status(thm)],[f_933_1]) ).

fof(f_933_3,plain,
    ! [U_5028,U_5027,U_5026,U_5025,U_5024,U_5023,U_5022] :
      ( ! [U_5021] : hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),class_1(U_5028),U_5025),U_5024) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),U_5023),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),U_5022),U_5021)))
      | hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5024),U_5027))
      | U_5027 != hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),append(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),U_5024)))),U_5022)),U_5026)
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5023),U_5026))
      | U_5024 = object ),
    inference(miniscope,[status(thm)],[f_933_2]) ).

cnf(f_933_4,plain,
    ( hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))))),class_1(U_5028),U_5025),U_5024) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),U_5023),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5028))))),U_5022),U_5021)))
    | hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5024),U_5027))
    | U_5027 != hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(product_prod(list(char),list(char)),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),append(product_prod(product_prod(list(char),list(char)),ty)),hAPP(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),fun(list(product_prod(list(char),ty)),list(product_prod(product_prod(list(char),list(char)),ty))),map(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(product_prod(list(char),ty),product_prod(product_prod(list(char),list(char)),ty)),product_prod_case(list(char),ty,product_prod(product_prod(list(char),list(char)),ty)),hAPP(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),hAPP(fun(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty))),fun(fun(list(char),product_prod(list(char),list(char))),fun(list(char),fun(ty,product_prod(product_prod(list(char),list(char)),ty)))),combb(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),list(char)),product_Pair(product_prod(list(char),list(char)),ty)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),hAPP(fun(list(char),fun(list(char),product_prod(list(char),list(char)))),fun(list(char),fun(list(char),product_prod(list(char),list(char)))),combc(list(char),list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char))),U_5024)))),U_5022)),U_5026)
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5028)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5028),U_5025),U_5023),U_5026))
    | U_5024 = object ),
    inference(clausify,[status(thm)],[f_933_3]) ).

fof(f_934_1,plain,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_case(X_t),F1),F2),c_Expr_Obop_OEq) = ti(X_t,F1),
    inference(fof_nnf,[status(thm)],[fact_786_bop_Osimps_I3_J]) ).

fof(f_934_2,plain,
    ! [U_5031,U_5030,U_5029] : hAPP(bop,U_5031,hAPP(U_5031,fun(bop,U_5031),hAPP(U_5031,fun(U_5031,fun(bop,U_5031)),bop_case(U_5031),U_5030),U_5029),c_Expr_Obop_OEq) = ti(U_5031,U_5030),
    inference(variable_rename,[status(thm)],[f_934_1]) ).

cnf(f_934_3,plain,
    hAPP(bop,U_5031,hAPP(U_5031,fun(bop,U_5031),hAPP(U_5031,fun(U_5031,fun(bop,U_5031)),bop_case(U_5031),U_5030),U_5029),c_Expr_Obop_OEq) = ti(U_5031,U_5030),
    inference(clausify,[status(thm)],[f_934_2]) ).

fof(f_935_1,plain,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_case(X_t),F1),F2),add) = ti(X_t,F2),
    inference(fof_nnf,[status(thm)],[fact_787_bop_Osimps_I4_J]) ).

fof(f_935_2,plain,
    ! [U_5034,U_5033,U_5032] : hAPP(bop,U_5034,hAPP(U_5034,fun(bop,U_5034),hAPP(U_5034,fun(U_5034,fun(bop,U_5034)),bop_case(U_5034),U_5033),U_5032),add) = ti(U_5034,U_5032),
    inference(variable_rename,[status(thm)],[f_935_1]) ).

cnf(f_935_3,plain,
    hAPP(bop,U_5034,hAPP(U_5034,fun(bop,U_5034),hAPP(U_5034,fun(U_5034,fun(bop,U_5034)),bop_case(U_5034),U_5033),U_5032),add) = ti(U_5034,U_5032),
    inference(clausify,[status(thm)],[f_935_2]) ).

fof(f_936_1,plain,
    ! [X_b,X_a,F,Xs,Ys] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),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),Ys)),
    inference(fof_nnf,[status(thm)],[fact_788_map__append]) ).

fof(f_936_2,plain,
    ! [U_5039,U_5038,U_5037,U_5036,U_5035] : hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),hAPP(list(U_5039),list(U_5039),hAPP(list(U_5039),fun(list(U_5039),list(U_5039)),append(U_5039),U_5036),U_5035)) = hAPP(list(U_5038),list(U_5038),hAPP(list(U_5038),fun(list(U_5038),list(U_5038)),append(U_5038),hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),U_5036)),hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),U_5035)),
    inference(variable_rename,[status(thm)],[f_936_1]) ).

cnf(f_936_3,plain,
    hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),hAPP(list(U_5039),list(U_5039),hAPP(list(U_5039),fun(list(U_5039),list(U_5039)),append(U_5039),U_5036),U_5035)) = hAPP(list(U_5038),list(U_5038),hAPP(list(U_5038),fun(list(U_5038),list(U_5038)),append(U_5038),hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),U_5036)),hAPP(list(U_5039),list(U_5038),hAPP(fun(U_5039,U_5038),fun(list(U_5039),list(U_5038)),map(U_5039,U_5038),U_5037),U_5035)),
    inference(clausify,[status(thm)],[f_936_2]) ).

fof(f_937_1,plain,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_rec(X_t),F1),F2),c_Expr_Obop_OEq) = ti(X_t,F1),
    inference(fof_nnf,[status(thm)],[fact_789_bop_Orecs_I1_J]) ).

fof(f_937_2,plain,
    ! [U_5042,U_5041,U_5040] : hAPP(bop,U_5042,hAPP(U_5042,fun(bop,U_5042),hAPP(U_5042,fun(U_5042,fun(bop,U_5042)),bop_rec(U_5042),U_5041),U_5040),c_Expr_Obop_OEq) = ti(U_5042,U_5041),
    inference(variable_rename,[status(thm)],[f_937_1]) ).

cnf(f_937_3,plain,
    hAPP(bop,U_5042,hAPP(U_5042,fun(bop,U_5042),hAPP(U_5042,fun(U_5042,fun(bop,U_5042)),bop_rec(U_5042),U_5041),U_5040),c_Expr_Obop_OEq) = ti(U_5042,U_5041),
    inference(clausify,[status(thm)],[f_937_2]) ).

fof(f_938_1,plain,
    ! [X_a,Xs_1,Ys_1,Zs_2] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1)),Zs_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2)),
    inference(fof_nnf,[status(thm)],[fact_790_append__assoc]) ).

fof(f_938_2,plain,
    ! [U_5046,U_5045,U_5044,U_5043] : hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5045),U_5044)),U_5043) = hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5045),hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5044),U_5043)),
    inference(variable_rename,[status(thm)],[f_938_1]) ).

cnf(f_938_3,plain,
    hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5045),U_5044)),U_5043) = hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5045),hAPP(list(U_5046),list(U_5046),hAPP(list(U_5046),fun(list(U_5046),list(U_5046)),append(U_5046),U_5044),U_5043)),
    inference(clausify,[status(thm)],[f_938_2]) ).

fof(f_939_1,plain,
    ! [X_a,Xs,Ys,Zs,Ts_5] :
      ( ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Ts_5)
        | ! [Us] :
            ( ( Ys != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ts_5)
              | hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us) != Zs )
            & ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys) != Ts_5
              | Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Us) ) ) )
      & ( ? [Us] :
            ( ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ts_5)
              & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us) = Zs )
            | ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys) = Ts_5
              & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Us) ) )
        | hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Ts_5) ) ),
    inference(fof_nnf,[status(thm)],[fact_791_append__eq__append__conv2]) ).

fof(f_939_2,plain,
    ! [U_5053,U_5052,U_5051,U_5050,U_5049] :
      ( ( hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5052),U_5051) = hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5050),U_5049)
        | ! [U_5048] :
            ( ( U_5051 != hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5048),U_5049)
              | hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5052),U_5048) != U_5050 )
            & ( hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5048),U_5051) != U_5049
              | U_5052 != hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5050),U_5048) ) ) )
      & ( ? [U_5047] :
            ( ( U_5051 = hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5047),U_5049)
              & hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5052),U_5047) = U_5050 )
            | ( hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5047),U_5051) = U_5049
              & U_5052 = hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5050),U_5047) ) )
        | hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5052),U_5051) != hAPP(list(U_5053),list(U_5053),hAPP(list(U_5053),fun(list(U_5053),list(U_5053)),append(U_5053),U_5050),U_5049) ) ),
    inference(variable_rename,[status(thm)],[f_939_1]) ).

fof(f_939_3,plain,
    ( ! [U_5067,U_5065,U_5063,U_5061,U_5059] :
        ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5063) = hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5059)
        | ( ! [U_5057] :
              ( U_5063 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5057),U_5059)
              | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5057) != U_5061 )
          & ! [U_5056] :
              ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5056),U_5063) != U_5059
              | U_5065 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5056) ) ) )
    & ! [U_5066,U_5064,U_5062,U_5060,U_5058] :
        ( ? [U_5055] :
            ( U_5062 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5055),U_5058)
            & hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5055) = U_5060 )
        | ? [U_5054] :
            ( hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5054),U_5062) = U_5058
            & U_5064 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5054) )
        | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ) ),
    inference(miniscope,[status(thm)],[f_939_2]) ).

fof(f_939_4,plain,
    ( ! [U_5067,U_5065,U_5063,U_5061,U_5059] :
        ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5063) = hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5059)
        | ( ! [U_5057] :
              ( U_5063 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5057),U_5059)
              | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5057) != U_5061 )
          & ! [U_5056] :
              ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5056),U_5063) != U_5059
              | U_5065 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5056) ) ) )
    & ! [U_5066,U_5064,U_5062,U_5060,U_5058] :
        ( ? [U_5055] :
            ( U_5062 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5055),U_5058)
            & hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5055) = U_5060 )
        | ( hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5062) = U_5058
          & U_5064 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)) )
        | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK202]),skolemize(U_5054,sK202(U_5066,U_5064,U_5062,U_5060,U_5058))],[f_939_3]) ).

fof(f_939_5,plain,
    ( ! [U_5067,U_5065,U_5063,U_5061,U_5059] :
        ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5063) = hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5059)
        | ( ! [U_5057] :
              ( U_5063 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5057),U_5059)
              | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5057) != U_5061 )
          & ! [U_5056] :
              ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5056),U_5063) != U_5059
              | U_5065 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5056) ) ) )
    & ! [U_5066,U_5064,U_5062,U_5060,U_5058] :
        ( ( U_5062 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5058)
          & hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)) = U_5060 )
        | ( hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5062) = U_5058
          & U_5064 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)) )
        | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK203]),skolemize(U_5055,sK203(U_5066,U_5064,U_5062,U_5060,U_5058))],[f_939_4]) ).

cnf(f_939_6,plain,
    ( hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)) = U_5060
    | U_5064 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),sK202(U_5066,U_5064,U_5062,U_5060,U_5058))
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

cnf(f_939_7,plain,
    ( U_5062 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5058)
    | U_5064 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),sK202(U_5066,U_5064,U_5062,U_5060,U_5058))
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

cnf(f_939_8,plain,
    ( hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)) = U_5060
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5062) = U_5058
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

cnf(f_939_9,plain,
    ( U_5062 = hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK203(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5058)
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),sK202(U_5066,U_5064,U_5062,U_5060,U_5058)),U_5062) = U_5058
    | hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5064),U_5062) != hAPP(list(U_5066),list(U_5066),hAPP(list(U_5066),fun(list(U_5066),list(U_5066)),append(U_5066),U_5060),U_5058) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

cnf(f_939_10,plain,
    ( hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5056),U_5063) != U_5059
    | U_5065 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5056)
    | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5063) = hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5059) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

cnf(f_939_11,plain,
    ( U_5063 != hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5057),U_5059)
    | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5057) != U_5061
    | hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5065),U_5063) = hAPP(list(U_5067),list(U_5067),hAPP(list(U_5067),fun(list(U_5067),list(U_5067)),append(U_5067),U_5061),U_5059) ),
    inference(clausify,[status(thm)],[f_939_5]) ).

fof(f_940_1,plain,
    ! [X_a,Xs,Ys,Zs] :
      ( ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)
        | Ys != Zs )
      & ( Ys = Zs
        | hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys) != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs) ) ),
    inference(fof_nnf,[status(thm)],[fact_792_same__append__eq]) ).

fof(f_940_2,plain,
    ! [U_5071,U_5070,U_5069,U_5068] :
      ( ( hAPP(list(U_5071),list(U_5071),hAPP(list(U_5071),fun(list(U_5071),list(U_5071)),append(U_5071),U_5070),U_5069) = hAPP(list(U_5071),list(U_5071),hAPP(list(U_5071),fun(list(U_5071),list(U_5071)),append(U_5071),U_5070),U_5068)
        | U_5069 != U_5068 )
      & ( U_5069 = U_5068
        | hAPP(list(U_5071),list(U_5071),hAPP(list(U_5071),fun(list(U_5071),list(U_5071)),append(U_5071),U_5070),U_5069) != hAPP(list(U_5071),list(U_5071),hAPP(list(U_5071),fun(list(U_5071),list(U_5071)),append(U_5071),U_5070),U_5068) ) ),
    inference(variable_rename,[status(thm)],[f_940_1]) ).

fof(f_940_3,plain,
    ( ! [U_5079,U_5077,U_5075,U_5073] :
        ( hAPP(list(U_5079),list(U_5079),hAPP(list(U_5079),fun(list(U_5079),list(U_5079)),append(U_5079),U_5077),U_5075) = hAPP(list(U_5079),list(U_5079),hAPP(list(U_5079),fun(list(U_5079),list(U_5079)),append(U_5079),U_5077),U_5073)
        | U_5075 != U_5073 )
    & ! [U_5078,U_5076,U_5074,U_5072] :
        ( U_5074 = U_5072
        | hAPP(list(U_5078),list(U_5078),hAPP(list(U_5078),fun(list(U_5078),list(U_5078)),append(U_5078),U_5076),U_5074) != hAPP(list(U_5078),list(U_5078),hAPP(list(U_5078),fun(list(U_5078),list(U_5078)),append(U_5078),U_5076),U_5072) ) ),
    inference(miniscope,[status(thm)],[f_940_2]) ).

cnf(f_940_4,plain,
    ( U_5074 = U_5072
    | hAPP(list(U_5078),list(U_5078),hAPP(list(U_5078),fun(list(U_5078),list(U_5078)),append(U_5078),U_5076),U_5074) != hAPP(list(U_5078),list(U_5078),hAPP(list(U_5078),fun(list(U_5078),list(U_5078)),append(U_5078),U_5076),U_5072) ),
    inference(clausify,[status(thm)],[f_940_3]) ).

cnf(f_940_5,plain,
    ( hAPP(list(U_5079),list(U_5079),hAPP(list(U_5079),fun(list(U_5079),list(U_5079)),append(U_5079),U_5077),U_5075) = hAPP(list(U_5079),list(U_5079),hAPP(list(U_5079),fun(list(U_5079),list(U_5079)),append(U_5079),U_5077),U_5073)
    | U_5075 != U_5073 ),
    inference(clausify,[status(thm)],[f_940_3]) ).

fof(f_941_1,plain,
    ! [X_a,Ys,Xs,Zs] :
      ( ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Xs)
        | Ys != Zs )
      & ( Ys = Zs
        | hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Xs) != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Xs) ) ),
    inference(fof_nnf,[status(thm)],[fact_793_append__same__eq]) ).

fof(f_941_2,plain,
    ! [U_5083,U_5082,U_5081,U_5080] :
      ( ( hAPP(list(U_5083),list(U_5083),hAPP(list(U_5083),fun(list(U_5083),list(U_5083)),append(U_5083),U_5082),U_5081) = hAPP(list(U_5083),list(U_5083),hAPP(list(U_5083),fun(list(U_5083),list(U_5083)),append(U_5083),U_5080),U_5081)
        | U_5082 != U_5080 )
      & ( U_5082 = U_5080
        | hAPP(list(U_5083),list(U_5083),hAPP(list(U_5083),fun(list(U_5083),list(U_5083)),append(U_5083),U_5082),U_5081) != hAPP(list(U_5083),list(U_5083),hAPP(list(U_5083),fun(list(U_5083),list(U_5083)),append(U_5083),U_5080),U_5081) ) ),
    inference(variable_rename,[status(thm)],[f_941_1]) ).

fof(f_941_3,plain,
    ( ! [U_5091,U_5089,U_5087,U_5085] :
        ( hAPP(list(U_5091),list(U_5091),hAPP(list(U_5091),fun(list(U_5091),list(U_5091)),append(U_5091),U_5089),U_5087) = hAPP(list(U_5091),list(U_5091),hAPP(list(U_5091),fun(list(U_5091),list(U_5091)),append(U_5091),U_5085),U_5087)
        | U_5089 != U_5085 )
    & ! [U_5090,U_5088,U_5086,U_5084] :
        ( U_5088 = U_5084
        | hAPP(list(U_5090),list(U_5090),hAPP(list(U_5090),fun(list(U_5090),list(U_5090)),append(U_5090),U_5088),U_5086) != hAPP(list(U_5090),list(U_5090),hAPP(list(U_5090),fun(list(U_5090),list(U_5090)),append(U_5090),U_5084),U_5086) ) ),
    inference(miniscope,[status(thm)],[f_941_2]) ).

cnf(f_941_4,plain,
    ( U_5088 = U_5084
    | hAPP(list(U_5090),list(U_5090),hAPP(list(U_5090),fun(list(U_5090),list(U_5090)),append(U_5090),U_5088),U_5086) != hAPP(list(U_5090),list(U_5090),hAPP(list(U_5090),fun(list(U_5090),list(U_5090)),append(U_5090),U_5084),U_5086) ),
    inference(clausify,[status(thm)],[f_941_3]) ).

cnf(f_941_5,plain,
    ( hAPP(list(U_5091),list(U_5091),hAPP(list(U_5091),fun(list(U_5091),list(U_5091)),append(U_5091),U_5089),U_5087) = hAPP(list(U_5091),list(U_5091),hAPP(list(U_5091),fun(list(U_5091),list(U_5091)),append(U_5091),U_5085),U_5087)
    | U_5089 != U_5085 ),
    inference(clausify,[status(thm)],[f_941_3]) ).

fof(f_942_1,plain,
    ! [X_a,Ys_1,Us_3,Xs_1,Xs1,Zs_2] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_2),Us_3)
      | Ys_1 != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Us_3)
      | hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Xs1) != Zs_2 ),
    inference(fof_nnf,[status(thm)],[fact_794_append__eq__appendI]) ).

fof(f_942_2,plain,
    ! [U_5097,U_5096,U_5095,U_5094,U_5093,U_5092] :
      ( hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5094),U_5096) = hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5092),U_5095)
      | U_5096 != hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5093),U_5095)
      | hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5094),U_5093) != U_5092 ),
    inference(variable_rename,[status(thm)],[f_942_1]) ).

cnf(f_942_3,plain,
    ( hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5094),U_5096) = hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5092),U_5095)
    | U_5096 != hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5093),U_5095)
    | hAPP(list(U_5097),list(U_5097),hAPP(list(U_5097),fun(list(U_5097),list(U_5097)),append(U_5097),U_5094),U_5093) != U_5092 ),
    inference(clausify,[status(thm)],[f_942_2]) ).

fof(f_943_1,plain,
    ! [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),combi(X_a)),X_2) = X_2,
    inference(fof_nnf,[status(thm)],[fact_795_map__ident]) ).

fof(f_943_2,plain,
    ! [U_5099,U_5098] : hAPP(list(U_5099),list(U_5099),hAPP(fun(U_5099,U_5099),fun(list(U_5099),list(U_5099)),map(U_5099,U_5099),combi(U_5099)),U_5098) = U_5098,
    inference(variable_rename,[status(thm)],[f_943_1]) ).

cnf(f_943_3,plain,
    hAPP(list(U_5099),list(U_5099),hAPP(fun(U_5099,U_5099),fun(list(U_5099),list(U_5099)),map(U_5099,U_5099),combi(U_5099)),U_5098) = U_5098,
    inference(clausify,[status(thm)],[f_943_2]) ).

fof(f_944_1,plain,
    ! [X_t,F1,F2] : hAPP(bop,X_t,hAPP(X_t,fun(bop,X_t),hAPP(X_t,fun(X_t,fun(bop,X_t)),bop_rec(X_t),F1),F2),add) = ti(X_t,F2),
    inference(fof_nnf,[status(thm)],[fact_796_bop_Orecs_I2_J]) ).

fof(f_944_2,plain,
    ! [U_5102,U_5101,U_5100] : hAPP(bop,U_5102,hAPP(U_5102,fun(bop,U_5102),hAPP(U_5102,fun(U_5102,fun(bop,U_5102)),bop_rec(U_5102),U_5101),U_5100),add) = ti(U_5102,U_5100),
    inference(variable_rename,[status(thm)],[f_944_1]) ).

cnf(f_944_3,plain,
    hAPP(bop,U_5102,hAPP(U_5102,fun(bop,U_5102),hAPP(U_5102,fun(U_5102,fun(bop,U_5102)),bop_rec(U_5102),U_5101),U_5100),add) = ti(U_5102,U_5100),
    inference(clausify,[status(thm)],[f_944_2]) ).

fof(f_945_1,plain,
    ! [M,Vs_1,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))),
    inference(fof_nnf,[status(thm)],[fact_797_red__reds_ORedCallNull]) ).

fof(f_945_2,plain,
    ! [U_5106,U_5105,U_5104,U_5103] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5106),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))),U_5105))),U_5104)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5104))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5103))),
    inference(variable_rename,[status(thm)],[f_945_1]) ).

cnf(f_945_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5106),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))),U_5105))),U_5104)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5104))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5103))),
    inference(clausify,[status(thm)],[f_945_2]) ).

fof(f_946_1,plain,
    ! [Pa,M,Vs_1,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S)),
    inference(fof_nnf,[status(thm)],[fact_798_redp__redsp_ORedCallNull]) ).

fof(f_946_2,plain,
    ! [U_5110,U_5109,U_5108,U_5107] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5110),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5109),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))),U_5108))),U_5107),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5107)),
    inference(variable_rename,[status(thm)],[f_946_1]) ).

cnf(f_946_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5110),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5109),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))),U_5108))),U_5107),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5107)),
    inference(clausify,[status(thm)],[f_946_2]) ).

fof(f_947_1,plain,
    ! [X_a,List_2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),new(X_a),List_2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_799_exp_Osimps_I30_J]) ).

fof(f_947_2,plain,
    ! [U_5115,U_5114,U_5113,U_5112,U_5111] : hAPP(list(char),exp(U_5115),new(U_5115),U_5114) != hAPP(list(exp(U_5115)),exp(U_5115),hAPP(list(char),fun(list(exp(U_5115)),exp(U_5115)),hAPP(exp(U_5115),fun(list(char),fun(list(exp(U_5115)),exp(U_5115))),call(U_5115),U_5113),U_5112),U_5111),
    inference(variable_rename,[status(thm)],[f_947_1]) ).

cnf(f_947_3,plain,
    hAPP(list(char),exp(U_5115),new(U_5115),U_5114) != hAPP(list(exp(U_5115)),exp(U_5115),hAPP(list(char),fun(list(exp(U_5115)),exp(U_5115)),hAPP(exp(U_5115),fun(list(char),fun(list(exp(U_5115)),exp(U_5115))),call(U_5115),U_5113),U_5112),U_5111),
    inference(clausify,[status(thm)],[f_947_2]) ).

fof(f_948_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,List_2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),new(X_a),List_2),
    inference(fof_nnf,[status(thm)],[fact_800_exp_Osimps_I31_J]) ).

fof(f_948_2,plain,
    ! [U_5120,U_5119,U_5118,U_5117,U_5116] : hAPP(list(exp(U_5120)),exp(U_5120),hAPP(list(char),fun(list(exp(U_5120)),exp(U_5120)),hAPP(exp(U_5120),fun(list(char),fun(list(exp(U_5120)),exp(U_5120))),call(U_5120),U_5119),U_5118),U_5117) != hAPP(list(char),exp(U_5120),new(U_5120),U_5116),
    inference(variable_rename,[status(thm)],[f_948_1]) ).

cnf(f_948_3,plain,
    hAPP(list(exp(U_5120)),exp(U_5120),hAPP(list(char),fun(list(exp(U_5120)),exp(U_5120)),hAPP(exp(U_5120),fun(list(char),fun(list(exp(U_5120)),exp(U_5120))),call(U_5120),U_5119),U_5118),U_5117) != hAPP(list(char),exp(U_5120),new(U_5120),U_5116),
    inference(clausify,[status(thm)],[f_948_2]) ).

fof(f_949_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2,Exp3] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3),
    inference(fof_nnf,[status(thm)],[fact_801_exp_Osimps_I188_J]) ).

fof(f_949_2,plain,
    ! [U_5127,U_5126,U_5125,U_5124,U_5123,U_5122,U_5121] : hAPP(list(exp(U_5127)),exp(U_5127),hAPP(list(char),fun(list(exp(U_5127)),exp(U_5127)),hAPP(exp(U_5127),fun(list(char),fun(list(exp(U_5127)),exp(U_5127))),call(U_5127),U_5126),U_5125),U_5124) != hAPP(exp(U_5127),exp(U_5127),hAPP(exp(U_5127),fun(exp(U_5127),exp(U_5127)),hAPP(exp(U_5127),fun(exp(U_5127),fun(exp(U_5127),exp(U_5127))),cond(U_5127),U_5123),U_5122),U_5121),
    inference(variable_rename,[status(thm)],[f_949_1]) ).

cnf(f_949_3,plain,
    hAPP(list(exp(U_5127)),exp(U_5127),hAPP(list(char),fun(list(exp(U_5127)),exp(U_5127)),hAPP(exp(U_5127),fun(list(char),fun(list(exp(U_5127)),exp(U_5127))),call(U_5127),U_5126),U_5125),U_5124) != hAPP(exp(U_5127),exp(U_5127),hAPP(exp(U_5127),fun(exp(U_5127),exp(U_5127)),hAPP(exp(U_5127),fun(exp(U_5127),fun(exp(U_5127),exp(U_5127))),cond(U_5127),U_5123),U_5122),U_5121),
    inference(clausify,[status(thm)],[f_949_2]) ).

fof(f_950_1,plain,
    ! [X_a,Exp1,Exp2,Exp3,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(exp(X_a),fun(exp(X_a),exp(X_a))),cond(X_a),Exp1),Exp2),Exp3) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_802_exp_Osimps_I189_J]) ).

fof(f_950_2,plain,
    ! [U_5134,U_5133,U_5132,U_5131,U_5130,U_5129,U_5128] : hAPP(exp(U_5134),exp(U_5134),hAPP(exp(U_5134),fun(exp(U_5134),exp(U_5134)),hAPP(exp(U_5134),fun(exp(U_5134),fun(exp(U_5134),exp(U_5134))),cond(U_5134),U_5133),U_5132),U_5131) != hAPP(list(exp(U_5134)),exp(U_5134),hAPP(list(char),fun(list(exp(U_5134)),exp(U_5134)),hAPP(exp(U_5134),fun(list(char),fun(list(exp(U_5134)),exp(U_5134))),call(U_5134),U_5130),U_5129),U_5128),
    inference(variable_rename,[status(thm)],[f_950_1]) ).

cnf(f_950_3,plain,
    hAPP(exp(U_5134),exp(U_5134),hAPP(exp(U_5134),fun(exp(U_5134),exp(U_5134)),hAPP(exp(U_5134),fun(exp(U_5134),fun(exp(U_5134),exp(U_5134))),cond(U_5134),U_5133),U_5132),U_5131) != hAPP(list(exp(U_5134)),exp(U_5134),hAPP(list(char),fun(list(exp(U_5134)),exp(U_5134)),hAPP(exp(U_5134),fun(list(char),fun(list(exp(U_5134)),exp(U_5134))),call(U_5134),U_5130),U_5129),U_5128),
    inference(clausify,[status(thm)],[f_950_2]) ).

fof(f_951_1,plain,
    ! [M,Ps,Pa,Eb,S_0,E_b,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(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_803_CallObjThrow]) ).

fof(f_951_2,plain,
    ! [U_5141,U_5140,U_5139,U_5138,U_5137,U_5136,U_5135] :
      ( 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,U_5139),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5138),U_5141),U_5140)),U_5137),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5136)),U_5135))
      | ~ 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,U_5139),U_5138),U_5137),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5136)),U_5135)) ),
    inference(variable_rename,[status(thm)],[f_951_1]) ).

cnf(f_951_3,plain,
    ( 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,U_5139),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5138),U_5141),U_5140)),U_5137),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5136)),U_5135))
    | ~ 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,U_5139),U_5138),U_5137),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5136)),U_5135)) ),
    inference(clausify,[status(thm)],[f_951_2]) ).

fof(f_952_1,plain,
    ! [X_a,Val,Exp_1,List1_1,List2_1] : hAPP(val,exp(X_a),val_1(X_a),Val) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_804_exp_Osimps_I80_J]) ).

fof(f_952_2,plain,
    ! [U_5146,U_5145,U_5144,U_5143,U_5142] : hAPP(val,exp(U_5146),val_1(U_5146),U_5145) != hAPP(list(exp(U_5146)),exp(U_5146),hAPP(list(char),fun(list(exp(U_5146)),exp(U_5146)),hAPP(exp(U_5146),fun(list(char),fun(list(exp(U_5146)),exp(U_5146))),call(U_5146),U_5144),U_5143),U_5142),
    inference(variable_rename,[status(thm)],[f_952_1]) ).

cnf(f_952_3,plain,
    hAPP(val,exp(U_5146),val_1(U_5146),U_5145) != hAPP(list(exp(U_5146)),exp(U_5146),hAPP(list(char),fun(list(exp(U_5146)),exp(U_5146)),hAPP(exp(U_5146),fun(list(char),fun(list(exp(U_5146)),exp(U_5146))),call(U_5146),U_5144),U_5143),U_5142),
    inference(clausify,[status(thm)],[f_952_2]) ).

fof(f_953_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Val] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(val,exp(X_a),val_1(X_a),Val),
    inference(fof_nnf,[status(thm)],[fact_805_exp_Osimps_I81_J]) ).

fof(f_953_2,plain,
    ! [U_5151,U_5150,U_5149,U_5148,U_5147] : hAPP(list(exp(U_5151)),exp(U_5151),hAPP(list(char),fun(list(exp(U_5151)),exp(U_5151)),hAPP(exp(U_5151),fun(list(char),fun(list(exp(U_5151)),exp(U_5151))),call(U_5151),U_5150),U_5149),U_5148) != hAPP(val,exp(U_5151),val_1(U_5151),U_5147),
    inference(variable_rename,[status(thm)],[f_953_1]) ).

cnf(f_953_3,plain,
    hAPP(list(exp(U_5151)),exp(U_5151),hAPP(list(char),fun(list(exp(U_5151)),exp(U_5151)),hAPP(exp(U_5151),fun(list(char),fun(list(exp(U_5151)),exp(U_5151))),call(U_5151),U_5150),U_5149),U_5148) != hAPP(val,exp(U_5151),val_1(U_5151),U_5147),
    inference(clausify,[status(thm)],[f_953_2]) ).

fof(f_954_1,plain,
    ! [X_a,Exp,List1,List2,Exp_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_806_exp_Osimps_I192_J]) ).

fof(f_954_2,plain,
    ! [U_5156,U_5155,U_5154,U_5153,U_5152] : hAPP(list(exp(U_5156)),exp(U_5156),hAPP(list(char),fun(list(exp(U_5156)),exp(U_5156)),hAPP(exp(U_5156),fun(list(char),fun(list(exp(U_5156)),exp(U_5156))),call(U_5156),U_5155),U_5154),U_5153) != hAPP(exp(U_5156),exp(U_5156),throw(U_5156),U_5152),
    inference(variable_rename,[status(thm)],[f_954_1]) ).

cnf(f_954_3,plain,
    hAPP(list(exp(U_5156)),exp(U_5156),hAPP(list(char),fun(list(exp(U_5156)),exp(U_5156)),hAPP(exp(U_5156),fun(list(char),fun(list(exp(U_5156)),exp(U_5156))),call(U_5156),U_5155),U_5154),U_5153) != hAPP(exp(U_5156),exp(U_5156),throw(U_5156),U_5152),
    inference(clausify,[status(thm)],[f_954_2]) ).

fof(f_955_1,plain,
    ! [X_a,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),throw(X_a),Exp_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_807_exp_Osimps_I193_J]) ).

fof(f_955_2,plain,
    ! [U_5161,U_5160,U_5159,U_5158,U_5157] : hAPP(exp(U_5161),exp(U_5161),throw(U_5161),U_5160) != hAPP(list(exp(U_5161)),exp(U_5161),hAPP(list(char),fun(list(exp(U_5161)),exp(U_5161)),hAPP(exp(U_5161),fun(list(char),fun(list(exp(U_5161)),exp(U_5161))),call(U_5161),U_5159),U_5158),U_5157),
    inference(variable_rename,[status(thm)],[f_955_1]) ).

cnf(f_955_3,plain,
    hAPP(exp(U_5161),exp(U_5161),throw(U_5161),U_5160) != hAPP(list(exp(U_5161)),exp(U_5161),hAPP(list(char),fun(list(exp(U_5161)),exp(U_5161)),hAPP(exp(U_5161),fun(list(char),fun(list(exp(U_5161)),exp(U_5161))),call(U_5161),U_5159),U_5158),U_5157),
    inference(clausify,[status(thm)],[f_955_2]) ).

fof(f_956_1,plain,
    ! [X_a,Exp_3,List1_3,List2_3,Exp_2,List1_2,List2_2] :
      ( ( hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1_3),List2_3) = hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_2),List1_2),List2_2)
        | List2_3 != List2_2
        | List1_3 != List1_2
        | Exp_3 != Exp_2 )
      & ( ( List2_3 = List2_2
          & List1_3 = List1_2
          & Exp_3 = Exp_2 )
        | hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_3),List1_3),List2_3) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_2),List1_2),List2_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_808_exp_Osimps_I9_J]) ).

fof(f_956_2,plain,
    ! [U_5168,U_5167,U_5166,U_5165,U_5164,U_5163,U_5162] :
      ( ( hAPP(list(exp(U_5168)),exp(U_5168),hAPP(list(char),fun(list(exp(U_5168)),exp(U_5168)),hAPP(exp(U_5168),fun(list(char),fun(list(exp(U_5168)),exp(U_5168))),call(U_5168),U_5167),U_5166),U_5165) = hAPP(list(exp(U_5168)),exp(U_5168),hAPP(list(char),fun(list(exp(U_5168)),exp(U_5168)),hAPP(exp(U_5168),fun(list(char),fun(list(exp(U_5168)),exp(U_5168))),call(U_5168),U_5164),U_5163),U_5162)
        | U_5165 != U_5162
        | U_5166 != U_5163
        | U_5167 != U_5164 )
      & ( ( U_5165 = U_5162
          & U_5166 = U_5163
          & U_5167 = U_5164 )
        | hAPP(list(exp(U_5168)),exp(U_5168),hAPP(list(char),fun(list(exp(U_5168)),exp(U_5168)),hAPP(exp(U_5168),fun(list(char),fun(list(exp(U_5168)),exp(U_5168))),call(U_5168),U_5167),U_5166),U_5165) != hAPP(list(exp(U_5168)),exp(U_5168),hAPP(list(char),fun(list(exp(U_5168)),exp(U_5168)),hAPP(exp(U_5168),fun(list(char),fun(list(exp(U_5168)),exp(U_5168))),call(U_5168),U_5164),U_5163),U_5162) ) ),
    inference(variable_rename,[status(thm)],[f_956_1]) ).

fof(f_956_3,plain,
    ( ! [U_5182,U_5180,U_5178,U_5176,U_5174,U_5172,U_5170] :
        ( hAPP(list(exp(U_5182)),exp(U_5182),hAPP(list(char),fun(list(exp(U_5182)),exp(U_5182)),hAPP(exp(U_5182),fun(list(char),fun(list(exp(U_5182)),exp(U_5182))),call(U_5182),U_5180),U_5178),U_5176) = hAPP(list(exp(U_5182)),exp(U_5182),hAPP(list(char),fun(list(exp(U_5182)),exp(U_5182)),hAPP(exp(U_5182),fun(list(char),fun(list(exp(U_5182)),exp(U_5182))),call(U_5182),U_5174),U_5172),U_5170)
        | U_5176 != U_5170
        | U_5178 != U_5172
        | U_5180 != U_5174 )
    & ! [U_5181,U_5179,U_5177,U_5175,U_5173,U_5171,U_5169] :
        ( ( U_5175 = U_5169
          & U_5177 = U_5171
          & U_5179 = U_5173 )
        | hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5179),U_5177),U_5175) != hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5173),U_5171),U_5169) ) ),
    inference(miniscope,[status(thm)],[f_956_2]) ).

cnf(f_956_4,plain,
    ( U_5179 = U_5173
    | hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5179),U_5177),U_5175) != hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5173),U_5171),U_5169) ),
    inference(clausify,[status(thm)],[f_956_3]) ).

cnf(f_956_5,plain,
    ( U_5177 = U_5171
    | hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5179),U_5177),U_5175) != hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5173),U_5171),U_5169) ),
    inference(clausify,[status(thm)],[f_956_3]) ).

cnf(f_956_6,plain,
    ( U_5175 = U_5169
    | hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5179),U_5177),U_5175) != hAPP(list(exp(U_5181)),exp(U_5181),hAPP(list(char),fun(list(exp(U_5181)),exp(U_5181)),hAPP(exp(U_5181),fun(list(char),fun(list(exp(U_5181)),exp(U_5181))),call(U_5181),U_5173),U_5171),U_5169) ),
    inference(clausify,[status(thm)],[f_956_3]) ).

cnf(f_956_7,plain,
    ( hAPP(list(exp(U_5182)),exp(U_5182),hAPP(list(char),fun(list(exp(U_5182)),exp(U_5182)),hAPP(exp(U_5182),fun(list(char),fun(list(exp(U_5182)),exp(U_5182))),call(U_5182),U_5180),U_5178),U_5176) = hAPP(list(exp(U_5182)),exp(U_5182),hAPP(list(char),fun(list(exp(U_5182)),exp(U_5182)),hAPP(exp(U_5182),fun(list(char),fun(list(exp(U_5182)),exp(U_5182))),call(U_5182),U_5174),U_5172),U_5170)
    | U_5176 != U_5170
    | U_5178 != U_5172
    | U_5180 != U_5174 ),
    inference(clausify,[status(thm)],[f_956_3]) ).

fof(f_957_1,plain,
    ! [M,Esa,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_809_redp__redsp_OCallObj]) ).

fof(f_957_2,plain,
    ! [U_5189,U_5188,U_5187,U_5186,U_5185,U_5184,U_5183] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5187),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5186),U_5189),U_5188)),U_5185),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5184),U_5189),U_5188)),U_5183))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5187),U_5186),U_5185),U_5184),U_5183)) ),
    inference(variable_rename,[status(thm)],[f_957_1]) ).

cnf(f_957_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5187),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5186),U_5189),U_5188)),U_5185),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5184),U_5189),U_5188)),U_5183))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5187),U_5186),U_5185),U_5184),U_5183)) ),
    inference(clausify,[status(thm)],[f_957_2]) ).

fof(f_958_1,plain,
    ! [X_a,Exp1,List_3,A_6,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_810_exp_Osimps_I195_J]) ).

fof(f_958_2,plain,
    ! [U_5197,U_5196,U_5195,U_5194,U_5193,U_5192,U_5191,U_5190] : hAPP(exp(U_5197),exp(U_5197),hAPP(U_5197,fun(exp(U_5197),exp(U_5197)),hAPP(list(char),fun(U_5197,fun(exp(U_5197),exp(U_5197))),hAPP(exp(U_5197),fun(list(char),fun(U_5197,fun(exp(U_5197),exp(U_5197)))),tryCatch(U_5197),U_5196),U_5195),U_5194),U_5193) != hAPP(list(exp(U_5197)),exp(U_5197),hAPP(list(char),fun(list(exp(U_5197)),exp(U_5197)),hAPP(exp(U_5197),fun(list(char),fun(list(exp(U_5197)),exp(U_5197))),call(U_5197),U_5192),U_5191),U_5190),
    inference(variable_rename,[status(thm)],[f_958_1]) ).

cnf(f_958_3,plain,
    hAPP(exp(U_5197),exp(U_5197),hAPP(U_5197,fun(exp(U_5197),exp(U_5197)),hAPP(list(char),fun(U_5197,fun(exp(U_5197),exp(U_5197))),hAPP(exp(U_5197),fun(list(char),fun(U_5197,fun(exp(U_5197),exp(U_5197)))),tryCatch(U_5197),U_5196),U_5195),U_5194),U_5193) != hAPP(list(exp(U_5197)),exp(U_5197),hAPP(list(char),fun(list(exp(U_5197)),exp(U_5197)),hAPP(exp(U_5197),fun(list(char),fun(list(exp(U_5197)),exp(U_5197))),call(U_5197),U_5192),U_5191),U_5190),
    inference(clausify,[status(thm)],[f_958_2]) ).

fof(f_959_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,List_3,A_6,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(X_a,fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(X_a,fun(exp(X_a),exp(X_a)))),tryCatch(X_a),Exp1),List_3),A_6),Exp2),
    inference(fof_nnf,[status(thm)],[fact_811_exp_Osimps_I194_J]) ).

fof(f_959_2,plain,
    ! [U_5205,U_5204,U_5203,U_5202,U_5201,U_5200,U_5199,U_5198] : hAPP(list(exp(U_5205)),exp(U_5205),hAPP(list(char),fun(list(exp(U_5205)),exp(U_5205)),hAPP(exp(U_5205),fun(list(char),fun(list(exp(U_5205)),exp(U_5205))),call(U_5205),U_5204),U_5203),U_5202) != hAPP(exp(U_5205),exp(U_5205),hAPP(U_5205,fun(exp(U_5205),exp(U_5205)),hAPP(list(char),fun(U_5205,fun(exp(U_5205),exp(U_5205))),hAPP(exp(U_5205),fun(list(char),fun(U_5205,fun(exp(U_5205),exp(U_5205)))),tryCatch(U_5205),U_5201),U_5200),U_5199),U_5198),
    inference(variable_rename,[status(thm)],[f_959_1]) ).

cnf(f_959_3,plain,
    hAPP(list(exp(U_5205)),exp(U_5205),hAPP(list(char),fun(list(exp(U_5205)),exp(U_5205)),hAPP(exp(U_5205),fun(list(char),fun(list(exp(U_5205)),exp(U_5205))),call(U_5205),U_5204),U_5203),U_5202) != hAPP(exp(U_5205),exp(U_5205),hAPP(U_5205,fun(exp(U_5205),exp(U_5205)),hAPP(list(char),fun(U_5205,fun(exp(U_5205),exp(U_5205))),hAPP(exp(U_5205),fun(list(char),fun(U_5205,fun(exp(U_5205),exp(U_5205)))),tryCatch(U_5205),U_5201),U_5200),U_5199),U_5198),
    inference(clausify,[status(thm)],[f_959_2]) ).

fof(f_960_1,plain,
    ! [X_a,Exp,List1,List2,Exp_1,List1_1,List2_1] : hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_812_exp_Osimps_I156_J]) ).

fof(f_960_2,plain,
    ! [U_5212,U_5211,U_5210,U_5209,U_5208,U_5207,U_5206] : hAPP(list(char),exp(U_5212),hAPP(list(char),fun(list(char),exp(U_5212)),hAPP(exp(U_5212),fun(list(char),fun(list(char),exp(U_5212))),fAcc(U_5212),U_5211),U_5210),U_5209) != hAPP(list(exp(U_5212)),exp(U_5212),hAPP(list(char),fun(list(exp(U_5212)),exp(U_5212)),hAPP(exp(U_5212),fun(list(char),fun(list(exp(U_5212)),exp(U_5212))),call(U_5212),U_5208),U_5207),U_5206),
    inference(variable_rename,[status(thm)],[f_960_1]) ).

cnf(f_960_3,plain,
    hAPP(list(char),exp(U_5212),hAPP(list(char),fun(list(char),exp(U_5212)),hAPP(exp(U_5212),fun(list(char),fun(list(char),exp(U_5212))),fAcc(U_5212),U_5211),U_5210),U_5209) != hAPP(list(exp(U_5212)),exp(U_5212),hAPP(list(char),fun(list(exp(U_5212)),exp(U_5212)),hAPP(exp(U_5212),fun(list(char),fun(list(exp(U_5212)),exp(U_5212))),call(U_5212),U_5208),U_5207),U_5206),
    inference(clausify,[status(thm)],[f_960_2]) ).

fof(f_961_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Exp,List1,List2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(list(char),exp(X_a),hAPP(list(char),fun(list(char),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(char),exp(X_a))),fAcc(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_813_exp_Osimps_I157_J]) ).

fof(f_961_2,plain,
    ! [U_5219,U_5218,U_5217,U_5216,U_5215,U_5214,U_5213] : hAPP(list(exp(U_5219)),exp(U_5219),hAPP(list(char),fun(list(exp(U_5219)),exp(U_5219)),hAPP(exp(U_5219),fun(list(char),fun(list(exp(U_5219)),exp(U_5219))),call(U_5219),U_5218),U_5217),U_5216) != hAPP(list(char),exp(U_5219),hAPP(list(char),fun(list(char),exp(U_5219)),hAPP(exp(U_5219),fun(list(char),fun(list(char),exp(U_5219))),fAcc(U_5219),U_5215),U_5214),U_5213),
    inference(variable_rename,[status(thm)],[f_961_1]) ).

cnf(f_961_3,plain,
    hAPP(list(exp(U_5219)),exp(U_5219),hAPP(list(char),fun(list(exp(U_5219)),exp(U_5219)),hAPP(exp(U_5219),fun(list(char),fun(list(exp(U_5219)),exp(U_5219))),call(U_5219),U_5218),U_5217),U_5216) != hAPP(list(char),exp(U_5219),hAPP(list(char),fun(list(char),exp(U_5219)),hAPP(exp(U_5219),fun(list(char),fun(list(char),exp(U_5219))),fAcc(U_5219),U_5215),U_5214),U_5213),
    inference(clausify,[status(thm)],[f_961_2]) ).

fof(f_962_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,List_2,Exp] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp),
    inference(fof_nnf,[status(thm)],[fact_814_exp_Osimps_I57_J]) ).

fof(f_962_2,plain,
    ! [U_5225,U_5224,U_5223,U_5222,U_5221,U_5220] : hAPP(list(exp(U_5225)),exp(U_5225),hAPP(list(char),fun(list(exp(U_5225)),exp(U_5225)),hAPP(exp(U_5225),fun(list(char),fun(list(exp(U_5225)),exp(U_5225))),call(U_5225),U_5224),U_5223),U_5222) != hAPP(exp(U_5225),exp(U_5225),hAPP(list(char),fun(exp(U_5225),exp(U_5225)),cast(U_5225),U_5221),U_5220),
    inference(variable_rename,[status(thm)],[f_962_1]) ).

cnf(f_962_3,plain,
    hAPP(list(exp(U_5225)),exp(U_5225),hAPP(list(char),fun(list(exp(U_5225)),exp(U_5225)),hAPP(exp(U_5225),fun(list(char),fun(list(exp(U_5225)),exp(U_5225))),call(U_5225),U_5224),U_5223),U_5222) != hAPP(exp(U_5225),exp(U_5225),hAPP(list(char),fun(exp(U_5225),exp(U_5225)),cast(U_5225),U_5221),U_5220),
    inference(clausify,[status(thm)],[f_962_2]) ).

fof(f_963_1,plain,
    ! [X_a,List_2,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),cast(X_a),List_2),Exp) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_815_exp_Osimps_I56_J]) ).

fof(f_963_2,plain,
    ! [U_5231,U_5230,U_5229,U_5228,U_5227,U_5226] : hAPP(exp(U_5231),exp(U_5231),hAPP(list(char),fun(exp(U_5231),exp(U_5231)),cast(U_5231),U_5230),U_5229) != hAPP(list(exp(U_5231)),exp(U_5231),hAPP(list(char),fun(list(exp(U_5231)),exp(U_5231)),hAPP(exp(U_5231),fun(list(char),fun(list(exp(U_5231)),exp(U_5231))),call(U_5231),U_5228),U_5227),U_5226),
    inference(variable_rename,[status(thm)],[f_963_1]) ).

cnf(f_963_3,plain,
    hAPP(exp(U_5231),exp(U_5231),hAPP(list(char),fun(exp(U_5231),exp(U_5231)),cast(U_5231),U_5230),U_5229) != hAPP(list(exp(U_5231)),exp(U_5231),hAPP(list(char),fun(list(exp(U_5231)),exp(U_5231)),hAPP(exp(U_5231),fun(list(char),fun(list(exp(U_5231)),exp(U_5231))),call(U_5231),U_5228),U_5227),U_5226),
    inference(clausify,[status(thm)],[f_963_2]) ).

fof(f_964_1,plain,
    ! [X_a,Exp1_1,Bop,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_816_exp_Osimps_I102_J]) ).

fof(f_964_2,plain,
    ! [U_5238,U_5237,U_5236,U_5235,U_5234,U_5233,U_5232] : hAPP(exp(U_5238),exp(U_5238),hAPP(bop,fun(exp(U_5238),exp(U_5238)),hAPP(exp(U_5238),fun(bop,fun(exp(U_5238),exp(U_5238))),binOp(U_5238),U_5237),U_5236),U_5235) != hAPP(list(exp(U_5238)),exp(U_5238),hAPP(list(char),fun(list(exp(U_5238)),exp(U_5238)),hAPP(exp(U_5238),fun(list(char),fun(list(exp(U_5238)),exp(U_5238))),call(U_5238),U_5234),U_5233),U_5232),
    inference(variable_rename,[status(thm)],[f_964_1]) ).

cnf(f_964_3,plain,
    hAPP(exp(U_5238),exp(U_5238),hAPP(bop,fun(exp(U_5238),exp(U_5238)),hAPP(exp(U_5238),fun(bop,fun(exp(U_5238),exp(U_5238))),binOp(U_5238),U_5237),U_5236),U_5235) != hAPP(list(exp(U_5238)),exp(U_5238),hAPP(list(char),fun(list(exp(U_5238)),exp(U_5238)),hAPP(exp(U_5238),fun(list(char),fun(list(exp(U_5238)),exp(U_5238))),call(U_5238),U_5234),U_5233),U_5232),
    inference(clausify,[status(thm)],[f_964_2]) ).

fof(f_965_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,Bop,Exp2_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(bop,fun(exp(X_a),exp(X_a)),hAPP(exp(X_a),fun(bop,fun(exp(X_a),exp(X_a))),binOp(X_a),Exp1_1),Bop),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_817_exp_Osimps_I103_J]) ).

fof(f_965_2,plain,
    ! [U_5245,U_5244,U_5243,U_5242,U_5241,U_5240,U_5239] : hAPP(list(exp(U_5245)),exp(U_5245),hAPP(list(char),fun(list(exp(U_5245)),exp(U_5245)),hAPP(exp(U_5245),fun(list(char),fun(list(exp(U_5245)),exp(U_5245))),call(U_5245),U_5244),U_5243),U_5242) != hAPP(exp(U_5245),exp(U_5245),hAPP(bop,fun(exp(U_5245),exp(U_5245)),hAPP(exp(U_5245),fun(bop,fun(exp(U_5245),exp(U_5245))),binOp(U_5245),U_5241),U_5240),U_5239),
    inference(variable_rename,[status(thm)],[f_965_1]) ).

cnf(f_965_3,plain,
    hAPP(list(exp(U_5245)),exp(U_5245),hAPP(list(char),fun(list(exp(U_5245)),exp(U_5245)),hAPP(exp(U_5245),fun(list(char),fun(list(exp(U_5245)),exp(U_5245))),call(U_5245),U_5244),U_5243),U_5242) != hAPP(exp(U_5245),exp(U_5245),hAPP(bop,fun(exp(U_5245),exp(U_5245)),hAPP(exp(U_5245),fun(bop,fun(exp(U_5245),exp(U_5245))),binOp(U_5245),U_5241),U_5240),U_5239),
    inference(clausify,[status(thm)],[f_965_2]) ).

fof(f_966_1,plain,
    ! [X_a,Exp,List1,List2,A_6,Ty,Exp_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1),
    inference(fof_nnf,[status(thm)],[fact_818_exp_Osimps_I184_J]) ).

fof(f_966_2,plain,
    ! [U_5252,U_5251,U_5250,U_5249,U_5248,U_5247,U_5246] : hAPP(list(exp(U_5252)),exp(U_5252),hAPP(list(char),fun(list(exp(U_5252)),exp(U_5252)),hAPP(exp(U_5252),fun(list(char),fun(list(exp(U_5252)),exp(U_5252))),call(U_5252),U_5251),U_5250),U_5249) != hAPP(exp(U_5252),exp(U_5252),hAPP(ty,fun(exp(U_5252),exp(U_5252)),hAPP(U_5252,fun(ty,fun(exp(U_5252),exp(U_5252))),block(U_5252),U_5248),U_5247),U_5246),
    inference(variable_rename,[status(thm)],[f_966_1]) ).

cnf(f_966_3,plain,
    hAPP(list(exp(U_5252)),exp(U_5252),hAPP(list(char),fun(list(exp(U_5252)),exp(U_5252)),hAPP(exp(U_5252),fun(list(char),fun(list(exp(U_5252)),exp(U_5252))),call(U_5252),U_5251),U_5250),U_5249) != hAPP(exp(U_5252),exp(U_5252),hAPP(ty,fun(exp(U_5252),exp(U_5252)),hAPP(U_5252,fun(ty,fun(exp(U_5252),exp(U_5252))),block(U_5252),U_5248),U_5247),U_5246),
    inference(clausify,[status(thm)],[f_966_2]) ).

fof(f_967_1,plain,
    ! [X_a,A_6,Ty,Exp_1,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(ty,fun(exp(X_a),exp(X_a)),hAPP(X_a,fun(ty,fun(exp(X_a),exp(X_a))),block(X_a),A_6),Ty),Exp_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_819_exp_Osimps_I185_J]) ).

fof(f_967_2,plain,
    ! [U_5259,U_5258,U_5257,U_5256,U_5255,U_5254,U_5253] : hAPP(exp(U_5259),exp(U_5259),hAPP(ty,fun(exp(U_5259),exp(U_5259)),hAPP(U_5259,fun(ty,fun(exp(U_5259),exp(U_5259))),block(U_5259),U_5258),U_5257),U_5256) != hAPP(list(exp(U_5259)),exp(U_5259),hAPP(list(char),fun(list(exp(U_5259)),exp(U_5259)),hAPP(exp(U_5259),fun(list(char),fun(list(exp(U_5259)),exp(U_5259))),call(U_5259),U_5255),U_5254),U_5253),
    inference(variable_rename,[status(thm)],[f_967_1]) ).

cnf(f_967_3,plain,
    hAPP(exp(U_5259),exp(U_5259),hAPP(ty,fun(exp(U_5259),exp(U_5259)),hAPP(U_5259,fun(ty,fun(exp(U_5259),exp(U_5259))),block(U_5259),U_5258),U_5257),U_5256) != hAPP(list(exp(U_5259)),exp(U_5259),hAPP(list(char),fun(list(exp(U_5259)),exp(U_5259)),hAPP(exp(U_5259),fun(list(char),fun(list(exp(U_5259)),exp(U_5259))),call(U_5259),U_5255),U_5254),U_5253),
    inference(clausify,[status(thm)],[f_967_2]) ).

fof(f_968_1,plain,
    ! [X_a,Exp1_1,List1,List2,Exp2_1,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_820_exp_Osimps_I170_J]) ).

fof(f_968_2,plain,
    ! [U_5267,U_5266,U_5265,U_5264,U_5263,U_5262,U_5261,U_5260] : hAPP(exp(U_5267),exp(U_5267),hAPP(list(char),fun(exp(U_5267),exp(U_5267)),hAPP(list(char),fun(list(char),fun(exp(U_5267),exp(U_5267))),hAPP(exp(U_5267),fun(list(char),fun(list(char),fun(exp(U_5267),exp(U_5267)))),fAss(U_5267),U_5266),U_5265),U_5264),U_5263) != hAPP(list(exp(U_5267)),exp(U_5267),hAPP(list(char),fun(list(exp(U_5267)),exp(U_5267)),hAPP(exp(U_5267),fun(list(char),fun(list(exp(U_5267)),exp(U_5267))),call(U_5267),U_5262),U_5261),U_5260),
    inference(variable_rename,[status(thm)],[f_968_1]) ).

cnf(f_968_3,plain,
    hAPP(exp(U_5267),exp(U_5267),hAPP(list(char),fun(exp(U_5267),exp(U_5267)),hAPP(list(char),fun(list(char),fun(exp(U_5267),exp(U_5267))),hAPP(exp(U_5267),fun(list(char),fun(list(char),fun(exp(U_5267),exp(U_5267)))),fAss(U_5267),U_5266),U_5265),U_5264),U_5263) != hAPP(list(exp(U_5267)),exp(U_5267),hAPP(list(char),fun(list(exp(U_5267)),exp(U_5267)),hAPP(exp(U_5267),fun(list(char),fun(list(exp(U_5267)),exp(U_5267))),call(U_5267),U_5262),U_5261),U_5260),
    inference(clausify,[status(thm)],[f_968_2]) ).

fof(f_969_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,Exp1_1,List1,List2,Exp2_1] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(list(char),fun(exp(X_a),exp(X_a)),hAPP(list(char),fun(list(char),fun(exp(X_a),exp(X_a))),hAPP(exp(X_a),fun(list(char),fun(list(char),fun(exp(X_a),exp(X_a)))),fAss(X_a),Exp1_1),List1),List2),Exp2_1),
    inference(fof_nnf,[status(thm)],[fact_821_exp_Osimps_I171_J]) ).

fof(f_969_2,plain,
    ! [U_5275,U_5274,U_5273,U_5272,U_5271,U_5270,U_5269,U_5268] : hAPP(list(exp(U_5275)),exp(U_5275),hAPP(list(char),fun(list(exp(U_5275)),exp(U_5275)),hAPP(exp(U_5275),fun(list(char),fun(list(exp(U_5275)),exp(U_5275))),call(U_5275),U_5274),U_5273),U_5272) != hAPP(exp(U_5275),exp(U_5275),hAPP(list(char),fun(exp(U_5275),exp(U_5275)),hAPP(list(char),fun(list(char),fun(exp(U_5275),exp(U_5275))),hAPP(exp(U_5275),fun(list(char),fun(list(char),fun(exp(U_5275),exp(U_5275)))),fAss(U_5275),U_5271),U_5270),U_5269),U_5268),
    inference(variable_rename,[status(thm)],[f_969_1]) ).

cnf(f_969_3,plain,
    hAPP(list(exp(U_5275)),exp(U_5275),hAPP(list(char),fun(list(exp(U_5275)),exp(U_5275)),hAPP(exp(U_5275),fun(list(char),fun(list(exp(U_5275)),exp(U_5275))),call(U_5275),U_5274),U_5273),U_5272) != hAPP(exp(U_5275),exp(U_5275),hAPP(list(char),fun(exp(U_5275),exp(U_5275)),hAPP(list(char),fun(list(char),fun(exp(U_5275),exp(U_5275))),hAPP(exp(U_5275),fun(list(char),fun(list(char),fun(exp(U_5275),exp(U_5275)))),fAss(U_5275),U_5271),U_5270),U_5269),U_5268),
    inference(clausify,[status(thm)],[f_969_2]) ).

fof(f_970_1,plain,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_822_exp_Osimps_I187_J]) ).

fof(f_970_2,plain,
    ! [U_5281,U_5280,U_5279,U_5278,U_5277,U_5276] : hAPP(exp(U_5281),exp(U_5281),hAPP(exp(U_5281),fun(exp(U_5281),exp(U_5281)),seq(U_5281),U_5280),U_5279) != hAPP(list(exp(U_5281)),exp(U_5281),hAPP(list(char),fun(list(exp(U_5281)),exp(U_5281)),hAPP(exp(U_5281),fun(list(char),fun(list(exp(U_5281)),exp(U_5281))),call(U_5281),U_5278),U_5277),U_5276),
    inference(variable_rename,[status(thm)],[f_970_1]) ).

cnf(f_970_3,plain,
    hAPP(exp(U_5281),exp(U_5281),hAPP(exp(U_5281),fun(exp(U_5281),exp(U_5281)),seq(U_5281),U_5280),U_5279) != hAPP(list(exp(U_5281)),exp(U_5281),hAPP(list(char),fun(list(exp(U_5281)),exp(U_5281)),hAPP(exp(U_5281),fun(list(char),fun(list(exp(U_5281)),exp(U_5281))),call(U_5281),U_5278),U_5277),U_5276),
    inference(clausify,[status(thm)],[f_970_2]) ).

fof(f_971_1,plain,
    ! [X_a,A_5,Exp,Exp_1,List1_1,List2_1] : hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1),
    inference(fof_nnf,[status(thm)],[fact_823_exp_Osimps_I140_J]) ).

fof(f_971_2,plain,
    ! [U_5287,U_5286,U_5285,U_5284,U_5283,U_5282] : hAPP(exp(U_5287),exp(U_5287),hAPP(U_5287,fun(exp(U_5287),exp(U_5287)),lAss(U_5287),U_5286),U_5285) != hAPP(list(exp(U_5287)),exp(U_5287),hAPP(list(char),fun(list(exp(U_5287)),exp(U_5287)),hAPP(exp(U_5287),fun(list(char),fun(list(exp(U_5287)),exp(U_5287))),call(U_5287),U_5284),U_5283),U_5282),
    inference(variable_rename,[status(thm)],[f_971_1]) ).

cnf(f_971_3,plain,
    hAPP(exp(U_5287),exp(U_5287),hAPP(U_5287,fun(exp(U_5287),exp(U_5287)),lAss(U_5287),U_5286),U_5285) != hAPP(list(exp(U_5287)),exp(U_5287),hAPP(list(char),fun(list(exp(U_5287)),exp(U_5287)),hAPP(exp(U_5287),fun(list(char),fun(list(exp(U_5287)),exp(U_5287))),call(U_5287),U_5284),U_5283),U_5282),
    inference(clausify,[status(thm)],[f_971_2]) ).

fof(f_972_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),seq(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_824_exp_Osimps_I186_J]) ).

fof(f_972_2,plain,
    ! [U_5293,U_5292,U_5291,U_5290,U_5289,U_5288] : hAPP(list(exp(U_5293)),exp(U_5293),hAPP(list(char),fun(list(exp(U_5293)),exp(U_5293)),hAPP(exp(U_5293),fun(list(char),fun(list(exp(U_5293)),exp(U_5293))),call(U_5293),U_5292),U_5291),U_5290) != hAPP(exp(U_5293),exp(U_5293),hAPP(exp(U_5293),fun(exp(U_5293),exp(U_5293)),seq(U_5293),U_5289),U_5288),
    inference(variable_rename,[status(thm)],[f_972_1]) ).

cnf(f_972_3,plain,
    hAPP(list(exp(U_5293)),exp(U_5293),hAPP(list(char),fun(list(exp(U_5293)),exp(U_5293)),hAPP(exp(U_5293),fun(list(char),fun(list(exp(U_5293)),exp(U_5293))),call(U_5293),U_5292),U_5291),U_5290) != hAPP(exp(U_5293),exp(U_5293),hAPP(exp(U_5293),fun(exp(U_5293),exp(U_5293)),seq(U_5293),U_5289),U_5288),
    inference(clausify,[status(thm)],[f_972_2]) ).

fof(f_973_1,plain,
    ! [X_a,Exp_1,List1_1,List2_1,A_5,Exp] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp_1),List1_1),List2_1) != hAPP(exp(X_a),exp(X_a),hAPP(X_a,fun(exp(X_a),exp(X_a)),lAss(X_a),A_5),Exp),
    inference(fof_nnf,[status(thm)],[fact_825_exp_Osimps_I141_J]) ).

fof(f_973_2,plain,
    ! [U_5299,U_5298,U_5297,U_5296,U_5295,U_5294] : hAPP(list(exp(U_5299)),exp(U_5299),hAPP(list(char),fun(list(exp(U_5299)),exp(U_5299)),hAPP(exp(U_5299),fun(list(char),fun(list(exp(U_5299)),exp(U_5299))),call(U_5299),U_5298),U_5297),U_5296) != hAPP(exp(U_5299),exp(U_5299),hAPP(U_5299,fun(exp(U_5299),exp(U_5299)),lAss(U_5299),U_5295),U_5294),
    inference(variable_rename,[status(thm)],[f_973_1]) ).

cnf(f_973_3,plain,
    hAPP(list(exp(U_5299)),exp(U_5299),hAPP(list(char),fun(list(exp(U_5299)),exp(U_5299)),hAPP(exp(U_5299),fun(list(char),fun(list(exp(U_5299)),exp(U_5299))),call(U_5299),U_5298),U_5297),U_5296) != hAPP(exp(U_5299),exp(U_5299),hAPP(U_5299,fun(exp(U_5299),exp(U_5299)),lAss(U_5299),U_5295),U_5294),
    inference(clausify,[status(thm)],[f_973_2]) ).

fof(f_974_1,plain,
    ! [X_a,Exp1,Exp2,Exp,List1,List2] : hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2) != hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2),
    inference(fof_nnf,[status(thm)],[fact_826_exp_Osimps_I191_J]) ).

fof(f_974_2,plain,
    ! [U_5305,U_5304,U_5303,U_5302,U_5301,U_5300] : hAPP(exp(U_5305),exp(U_5305),hAPP(exp(U_5305),fun(exp(U_5305),exp(U_5305)),while(U_5305),U_5304),U_5303) != hAPP(list(exp(U_5305)),exp(U_5305),hAPP(list(char),fun(list(exp(U_5305)),exp(U_5305)),hAPP(exp(U_5305),fun(list(char),fun(list(exp(U_5305)),exp(U_5305))),call(U_5305),U_5302),U_5301),U_5300),
    inference(variable_rename,[status(thm)],[f_974_1]) ).

cnf(f_974_3,plain,
    hAPP(exp(U_5305),exp(U_5305),hAPP(exp(U_5305),fun(exp(U_5305),exp(U_5305)),while(U_5305),U_5304),U_5303) != hAPP(list(exp(U_5305)),exp(U_5305),hAPP(list(char),fun(list(exp(U_5305)),exp(U_5305)),hAPP(exp(U_5305),fun(list(char),fun(list(exp(U_5305)),exp(U_5305))),call(U_5305),U_5302),U_5301),U_5300),
    inference(clausify,[status(thm)],[f_974_2]) ).

fof(f_975_1,plain,
    ! [X_a,Exp,List1,List2,Exp1,Exp2] : hAPP(list(exp(X_a)),exp(X_a),hAPP(list(char),fun(list(exp(X_a)),exp(X_a)),hAPP(exp(X_a),fun(list(char),fun(list(exp(X_a)),exp(X_a))),call(X_a),Exp),List1),List2) != hAPP(exp(X_a),exp(X_a),hAPP(exp(X_a),fun(exp(X_a),exp(X_a)),while(X_a),Exp1),Exp2),
    inference(fof_nnf,[status(thm)],[fact_827_exp_Osimps_I190_J]) ).

fof(f_975_2,plain,
    ! [U_5311,U_5310,U_5309,U_5308,U_5307,U_5306] : hAPP(list(exp(U_5311)),exp(U_5311),hAPP(list(char),fun(list(exp(U_5311)),exp(U_5311)),hAPP(exp(U_5311),fun(list(char),fun(list(exp(U_5311)),exp(U_5311))),call(U_5311),U_5310),U_5309),U_5308) != hAPP(exp(U_5311),exp(U_5311),hAPP(exp(U_5311),fun(exp(U_5311),exp(U_5311)),while(U_5311),U_5307),U_5306),
    inference(variable_rename,[status(thm)],[f_975_1]) ).

cnf(f_975_3,plain,
    hAPP(list(exp(U_5311)),exp(U_5311),hAPP(list(char),fun(list(exp(U_5311)),exp(U_5311)),hAPP(exp(U_5311),fun(list(char),fun(list(exp(U_5311)),exp(U_5311))),call(U_5311),U_5310),U_5309),U_5308) != hAPP(exp(U_5311),exp(U_5311),hAPP(exp(U_5311),fun(exp(U_5311),exp(U_5311)),while(U_5311),U_5307),U_5306),
    inference(clausify,[status(thm)],[f_975_2]) ).

fof(f_976_1,plain,
    ! [Pa,Eb,M,Esa,S] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),M),Esa)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S)),
    inference(fof_nnf,[status(thm)],[fact_828_redp__redsp_OCallThrowObj]) ).

fof(f_976_2,plain,
    ! [U_5316,U_5315,U_5314,U_5313,U_5312] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5316),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5315)),U_5314),U_5313)),U_5312),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5315)),U_5312)),
    inference(variable_rename,[status(thm)],[f_976_1]) ).

cnf(f_976_3,plain,
    hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5316),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5315)),U_5314),U_5313)),U_5312),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5315)),U_5312)),
    inference(clausify,[status(thm)],[f_976_2]) ).

fof(f_977_1,plain,
    ! [M,Esa,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_829_red__reds_OCallObj]) ).

fof(f_977_2,plain,
    ! [U_5323,U_5322,U_5321,U_5320,U_5319,U_5318,U_5317] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5321),U_5323),U_5322)),U_5320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5319),U_5323),U_5322)),U_5318))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5317)))
      | ~ 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)))),U_5321),U_5320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5319),U_5318))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5317))) ),
    inference(variable_rename,[status(thm)],[f_977_1]) ).

cnf(f_977_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5321),U_5323),U_5322)),U_5320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5319),U_5323),U_5322)),U_5318))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5317)))
    | ~ 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)))),U_5321),U_5320)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5319),U_5318))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5317))) ),
    inference(clausify,[status(thm)],[f_977_2]) ).

fof(f_978_1,plain,
    ! [Eb,M,Esa,S,Pa] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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))),
    inference(fof_nnf,[status(thm)],[fact_830_red__reds_OCallThrowObj]) ).

fof(f_978_2,plain,
    ! [U_5328,U_5327,U_5326,U_5325,U_5324] : hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5328)),U_5327),U_5326)),U_5325)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5328)),U_5325))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5324))),
    inference(variable_rename,[status(thm)],[f_978_1]) ).

cnf(f_978_3,plain,
    hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5328)),U_5327),U_5326)),U_5325)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5328)),U_5325))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5324))),
    inference(clausify,[status(thm)],[f_978_2]) ).

fof(f_979_1,plain,
    ! [M,Esa,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),E_b),M),Esa)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_831_CallRedsObj]) ).

fof(f_979_2,plain,
    ! [U_5335,U_5334,U_5333,U_5332,U_5331,U_5330,U_5329] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5333),U_5335),U_5334)),U_5332)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5331),U_5335),U_5334)),U_5330))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5329))))
      | ~ 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)))),U_5333),U_5332)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5331),U_5330))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5329)))) ),
    inference(variable_rename,[status(thm)],[f_979_1]) ).

cnf(f_979_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5333),U_5335),U_5334)),U_5332)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5331),U_5335),U_5334)),U_5330))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5329))))
    | ~ 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)))),U_5333),U_5332)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5331),U_5330))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5329)))) ),
    inference(clausify,[status(thm)],[f_979_2]) ).

fof(f_980_1,plain,
    ! [M,Esa,Eb,S0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_832_CallRedsThrowObj]) ).

fof(f_980_2,plain,
    ! [U_5342,U_5341,U_5340,U_5339,U_5338,U_5337,U_5336] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5340),U_5342),U_5341)),U_5339)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5338)),U_5337))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5336))))
      | ~ 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)))),U_5340),U_5339)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5338)),U_5337))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5336)))) ),
    inference(variable_rename,[status(thm)],[f_980_1]) ).

cnf(f_980_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5340),U_5342),U_5341)),U_5339)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5338)),U_5337))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5336))))
    | ~ 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)))),U_5340),U_5339)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5338)),U_5337))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5336)))) ),
    inference(clausify,[status(thm)],[f_980_2]) ).

fof(f_981_1,plain,
    ! [M,Esa,Vs_1,S_2_1,Eb,S_0,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))) ),
    inference(fof_nnf,[status(thm)],[fact_833_CallRedsNull]) ).

fof(f_981_2,plain,
    ! [U_5350,U_5349,U_5348,U_5347,U_5346,U_5345,U_5344,U_5343] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5346),U_5350),U_5349)),U_5345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5347))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5343))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5349),U_5344)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5348)),U_5347))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5343))))
      | ~ 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)))),U_5346),U_5345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5344))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5343)))) ),
    inference(variable_rename,[status(thm)],[f_981_1]) ).

cnf(f_981_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5346),U_5350),U_5349)),U_5345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5347))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5343))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5349),U_5344)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5348)),U_5347))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5343))))
    | ~ 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)))),U_5346),U_5345)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5344))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5343)))) ),
    inference(clausify,[status(thm)],[f_981_2]) ).

fof(f_982_1,plain,
    ! [M,Ps,Vs_1,S_2_1,Pa,Eb,S_0,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(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Ps),S_1),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),null)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_834_CallNull]) ).

fof(f_982_2,plain,
    ! [U_5358,U_5357,U_5356,U_5355,U_5354,U_5353,U_5352,U_5351] :
      ( 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,U_5354),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5353),U_5358),U_5357)),U_5352),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5355))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5354),U_5357),U_5351),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))),U_5356)),U_5355))
      | ~ 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,U_5354),U_5353),U_5352),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5351)) ),
    inference(variable_rename,[status(thm)],[f_982_1]) ).

cnf(f_982_3,plain,
    ( 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,U_5354),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5353),U_5358),U_5357)),U_5352),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,hAPP(list(char),nat,addr_of_sys_xcpt,nullPointer))))),U_5355))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5354),U_5357),U_5351),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))),U_5356)),U_5355))
    | ~ 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,U_5354),U_5353),U_5352),hAPP(val,exp(list(char)),val_1(list(char)),null)),U_5351)) ),
    inference(clausify,[status(thm)],[f_982_2]) ).

fof(f_983_1,plain,
    ! [Es_a,T_8,Esa,T_7,Es_3,T_6,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),T_7),Es_a),T_8))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es_3),T_6),Es_a),T_8))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),T_7)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_3),T_6))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_835_extend__1__evals]) ).

fof(f_983_2,plain,
    ! [U_5365,U_5364,U_5363,U_5362,U_5361,U_5360,U_5359] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5359),U_5363),U_5362),U_5365),U_5364))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5359),U_5361),U_5360),U_5365),U_5364))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5363),U_5362)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5361),U_5360))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5359)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5359)) ),
    inference(variable_rename,[status(thm)],[f_983_1]) ).

cnf(f_983_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5359),U_5363),U_5362),U_5365),U_5364))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5359),U_5361),U_5360),U_5365),U_5364))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5363),U_5362)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5361),U_5360))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5359)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5359)) ),
    inference(clausify,[status(thm)],[f_983_2]) ).

fof(f_984_1,plain,
    ! [Es_a,S_3,Esa,S,Es_3,S_4,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Es_3),S_4),Es_a),S_3))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_3),S_4))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_836_extend__evals]) ).

fof(f_984_2,plain,
    ! [U_5372,U_5371,U_5370,U_5369,U_5368,U_5367,U_5366] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5366),U_5370),U_5369),U_5372),U_5371))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5366),U_5368),U_5367),U_5372),U_5371))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5370),U_5369)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5368),U_5367))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5366))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5366)) ),
    inference(variable_rename,[status(thm)],[f_984_1]) ).

cnf(f_984_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5366),U_5370),U_5369),U_5372),U_5371))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5366),U_5368),U_5367),U_5372),U_5371))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5370),U_5369)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5368),U_5367))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5366))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5366)) ),
    inference(clausify,[status(thm)],[f_984_2]) ).

fof(f_985_1,plain,
    ! [Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_837_bigs__by__smalls]) ).

fof(f_985_2,plain,
    ! [U_5377,U_5376,U_5375,U_5374,U_5373] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5377),U_5376)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5375),U_5374))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5373))))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5373),U_5377),U_5376),U_5375),U_5374))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5373)) ),
    inference(variable_rename,[status(thm)],[f_985_1]) ).

cnf(f_985_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5377),U_5376)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5375),U_5374))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5373))))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5373),U_5377),U_5376),U_5375),U_5374))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_5373)) ),
    inference(clausify,[status(thm)],[f_985_2]) ).

fof(f_986_1,plain,
    ! [Pa,Esa,Hb,Lb,Es_a,H_b,L_b] :
      ( 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,Hb),H_b))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),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))),Hb),Lb)),Es_a),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_b),L_b))) ),
    inference(fof_nnf,[status(thm)],[fact_838_evals__hext]) ).

fof(f_986_2,plain,
    ! [U_5384,U_5383,U_5382,U_5381,U_5380,U_5379,U_5378] :
      ( 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,U_5382),U_5379))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5384),U_5383),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))),U_5382),U_5381)),U_5380),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))),U_5379),U_5378))) ),
    inference(variable_rename,[status(thm)],[f_986_1]) ).

fof(f_986_3,plain,
    ! [U_5384,U_5383,U_5382,U_5381,U_5380,U_5379] :
      ( ! [U_5378] : ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5384),U_5383),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))),U_5382),U_5381)),U_5380),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))),U_5379),U_5378)))
      | 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,U_5382),U_5379)) ),
    inference(miniscope,[status(thm)],[f_986_2]) ).

cnf(f_986_4,plain,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5384),U_5383),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))),U_5382),U_5381)),U_5380),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))),U_5379),U_5378)))
    | 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,U_5382),U_5379)) ),
    inference(clausify,[status(thm)],[f_986_3]) ).

fof(f_987_1,plain,
    ! [Esa,Hb,Lb,Es_a,H_b,L_b,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,Hb),H_b))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_839_reds__hext__incr]) ).

fof(f_987_2,plain,
    ! [U_5391,U_5390,U_5389,U_5388,U_5387,U_5386,U_5385] :
      ( 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,U_5390),U_5387))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5391),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))),U_5390),U_5389))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5388),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))),U_5387),U_5386)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5385))) ),
    inference(variable_rename,[status(thm)],[f_987_1]) ).

fof(f_987_3,plain,
    ! [U_5391,U_5390,U_5389,U_5388,U_5387] :
      ( ! [U_5386,U_5385] : ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5391),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))),U_5390),U_5389))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5388),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))),U_5387),U_5386)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5385)))
      | 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,U_5390),U_5387)) ),
    inference(miniscope,[status(thm)],[f_987_2]) ).

cnf(f_987_4,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5391),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))),U_5390),U_5389))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5388),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))),U_5387),U_5386)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5385)))
    | 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,U_5390),U_5387)) ),
    inference(clausify,[status(thm)],[f_987_3]) ).

fof(f_988_1,plain,
    ! [Pa,Esa,H_0,L_0,Es_a,H_1,L_1_1] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_0)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),L_1_1)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),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_0),L_0)),Es_a),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_1),L_1_1))) ),
    inference(fof_nnf,[status(thm)],[fact_840_evals__lcl__incr]) ).

fof(f_988_2,plain,
    ! [U_5398,U_5397,U_5396,U_5395,U_5394,U_5393,U_5392] :
      ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_5395)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_5392)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5398),U_5397),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))),U_5396),U_5395)),U_5394),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))),U_5393),U_5392))) ),
    inference(variable_rename,[status(thm)],[f_988_1]) ).

cnf(f_988_3,plain,
    ( hBOOL(hAPP(fun(list(char),bool),bool,hAPP(fun(list(char),bool),fun(fun(list(char),bool),bool),ord_less_eq(fun(list(char),bool)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_5395)),hAPP(fun(list(char),option(val)),fun(list(char),bool),dom(list(char),val),U_5392)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5398),U_5397),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))),U_5396),U_5395)),U_5394),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))),U_5393),U_5392))) ),
    inference(clausify,[status(thm)],[f_988_2]) ).

fof(f_989_1,plain,
    ! [Va,M,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_841_red__reds_OCallParams]) ).

fof(f_989_2,plain,
    ! [U_5405,U_5404,U_5403,U_5402,U_5401,U_5400,U_5399] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5405)),U_5404),U_5403)),U_5402)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5405)),U_5404),U_5401)),U_5400))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5399)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5403),U_5402)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5401),U_5400))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5399))) ),
    inference(variable_rename,[status(thm)],[f_989_1]) ).

cnf(f_989_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5405)),U_5404),U_5403)),U_5402)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5405)),U_5404),U_5401)),U_5400))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5399)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5403),U_5402)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5401),U_5400))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5399))) ),
    inference(clausify,[status(thm)],[f_989_2]) ).

fof(f_990_1,plain,
    ! [Va,M,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_842_CallRedsParams]) ).

fof(f_990_2,plain,
    ! [U_5412,U_5411,U_5410,U_5409,U_5408,U_5407,U_5406] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5412)),U_5411),U_5410)),U_5409)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5412)),U_5411),U_5408)),U_5407))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5406))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5410),U_5409)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5408),U_5407))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5406)))) ),
    inference(variable_rename,[status(thm)],[f_990_1]) ).

cnf(f_990_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5412)),U_5411),U_5410)),U_5409)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5412)),U_5411),U_5408)),U_5407))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5406))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5410),U_5409)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5408),U_5407))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5406)))) ),
    inference(clausify,[status(thm)],[f_990_2]) ).

fof(f_991_1,plain,
    ! [M,Esa,Vs_1_1,A_1,Es_2,S_2_1,Eb,S0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),S_2_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),A_1)),Es_2))),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_843_CallRedsThrowParams]) ).

fof(f_991_2,plain,
    ! [U_5423,U_5422,U_5421,U_5420,U_5419,U_5418,U_5417,U_5416,U_5415,U_5414,U_5413] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5417),U_5423),U_5422)),U_5416)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5420)),U_5418))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5413))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5422),U_5414)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5421)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5420)),U_5419))),U_5418))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5413))))
      | ~ 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)))),U_5417),U_5416)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_5415)),U_5414))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5413)))) ),
    inference(variable_rename,[status(thm)],[f_991_1]) ).

cnf(f_991_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5417),U_5423),U_5422)),U_5416)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5420)),U_5418))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5413))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5422),U_5414)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5421)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5420)),U_5419))),U_5418))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5413))))
    | ~ 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)))),U_5417),U_5416)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_5415)),U_5414))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5413)))) ),
    inference(clausify,[status(thm)],[f_991_2]) ).

fof(f_992_1,plain,
    ! [Eb,M,Esa] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,Esa)),
    inference(fof_nnf,[status(thm)],[fact_844_fv__fvs_Osimps_I9_J]) ).

fof(f_992_2,plain,
    ! [U_5426,U_5425,U_5424] : hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5426),U_5425),U_5424)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_5426)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,U_5424)),
    inference(variable_rename,[status(thm)],[f_992_1]) ).

cnf(f_992_3,plain,
    hAPP(exp(list(char)),fun(list(char),bool),fv,hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5426),U_5425),U_5424)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_5426)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,U_5424)),
    inference(clausify,[status(thm)],[f_992_2]) ).

fof(f_993_1,plain,
    ! [X_a,Xs_1,Zs_2,X,Xs1,Ys_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2)
      | Xs_1 != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_2)
      | hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1) != Ys_1 ),
    inference(fof_nnf,[status(thm)],[fact_845_Cons__eq__appendI]) ).

fof(f_993_2,plain,
    ! [U_5432,U_5431,U_5430,U_5429,U_5428,U_5427] :
      ( hAPP(list(U_5432),list(U_5432),hAPP(U_5432,fun(list(U_5432),list(U_5432)),cons(U_5432),U_5429),U_5431) = hAPP(list(U_5432),list(U_5432),hAPP(list(U_5432),fun(list(U_5432),list(U_5432)),append(U_5432),U_5427),U_5430)
      | U_5431 != hAPP(list(U_5432),list(U_5432),hAPP(list(U_5432),fun(list(U_5432),list(U_5432)),append(U_5432),U_5428),U_5430)
      | hAPP(list(U_5432),list(U_5432),hAPP(U_5432,fun(list(U_5432),list(U_5432)),cons(U_5432),U_5429),U_5428) != U_5427 ),
    inference(variable_rename,[status(thm)],[f_993_1]) ).

cnf(f_993_3,plain,
    ( hAPP(list(U_5432),list(U_5432),hAPP(U_5432,fun(list(U_5432),list(U_5432)),cons(U_5432),U_5429),U_5431) = hAPP(list(U_5432),list(U_5432),hAPP(list(U_5432),fun(list(U_5432),list(U_5432)),append(U_5432),U_5427),U_5430)
    | U_5431 != hAPP(list(U_5432),list(U_5432),hAPP(list(U_5432),fun(list(U_5432),list(U_5432)),append(U_5432),U_5428),U_5430)
    | hAPP(list(U_5432),list(U_5432),hAPP(U_5432,fun(list(U_5432),list(U_5432)),cons(U_5432),U_5429),U_5428) != U_5427 ),
    inference(clausify,[status(thm)],[f_993_2]) ).

fof(f_994_1,plain,
    ! [X_a,X,Xs_1,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1)),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1)),
    inference(fof_nnf,[status(thm)],[fact_846_append__Cons]) ).

fof(f_994_2,plain,
    ! [U_5436,U_5435,U_5434,U_5433] : hAPP(list(U_5436),list(U_5436),hAPP(list(U_5436),fun(list(U_5436),list(U_5436)),append(U_5436),hAPP(list(U_5436),list(U_5436),hAPP(U_5436,fun(list(U_5436),list(U_5436)),cons(U_5436),U_5435),U_5434)),U_5433) = hAPP(list(U_5436),list(U_5436),hAPP(U_5436,fun(list(U_5436),list(U_5436)),cons(U_5436),U_5435),hAPP(list(U_5436),list(U_5436),hAPP(list(U_5436),fun(list(U_5436),list(U_5436)),append(U_5436),U_5434),U_5433)),
    inference(variable_rename,[status(thm)],[f_994_1]) ).

cnf(f_994_3,plain,
    hAPP(list(U_5436),list(U_5436),hAPP(list(U_5436),fun(list(U_5436),list(U_5436)),append(U_5436),hAPP(list(U_5436),list(U_5436),hAPP(U_5436,fun(list(U_5436),list(U_5436)),cons(U_5436),U_5435),U_5434)),U_5433) = hAPP(list(U_5436),list(U_5436),hAPP(U_5436,fun(list(U_5436),list(U_5436)),cons(U_5436),U_5435),hAPP(list(U_5436),list(U_5436),hAPP(list(U_5436),fun(list(U_5436),list(U_5436)),append(U_5436),U_5434),U_5433)),
    inference(clausify,[status(thm)],[f_994_2]) ).

fof(f_995_1,plain,
    ! [X_a,Xs_1,X] : Xs_1 != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1),
    inference(fof_nnf,[status(thm)],[fact_847_not__Cons__self]) ).

fof(f_995_2,plain,
    ! [U_5439,U_5438,U_5437] : U_5438 != hAPP(list(U_5439),list(U_5439),hAPP(U_5439,fun(list(U_5439),list(U_5439)),cons(U_5439),U_5437),U_5438),
    inference(variable_rename,[status(thm)],[f_995_1]) ).

cnf(f_995_3,plain,
    U_5438 != hAPP(list(U_5439),list(U_5439),hAPP(U_5439,fun(list(U_5439),list(U_5439)),cons(U_5439),U_5437),U_5438),
    inference(clausify,[status(thm)],[f_995_2]) ).

fof(f_996_1,plain,
    ! [X_a,X,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs_1) != Xs_1,
    inference(fof_nnf,[status(thm)],[fact_848_not__Cons__self2]) ).

fof(f_996_2,plain,
    ! [U_5442,U_5441,U_5440] : hAPP(list(U_5442),list(U_5442),hAPP(U_5442,fun(list(U_5442),list(U_5442)),cons(U_5442),U_5441),U_5440) != U_5440,
    inference(variable_rename,[status(thm)],[f_996_1]) ).

cnf(f_996_3,plain,
    hAPP(list(U_5442),list(U_5442),hAPP(U_5442,fun(list(U_5442),list(U_5442)),cons(U_5442),U_5441),U_5440) != U_5440,
    inference(clausify,[status(thm)],[f_996_2]) ).

fof(f_997_1,plain,
    ! [X_a,A_1,List,A_4,List_1] :
      ( ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),List) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_4),List_1)
        | List != List_1
        | ti(X_a,A_1) != ti(X_a,A_4) )
      & ( ( List = List_1
          & ti(X_a,A_1) = ti(X_a,A_4) )
        | hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),List) != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_4),List_1) ) ),
    inference(fof_nnf,[status(thm)],[fact_849_list_Oinject]) ).

fof(f_997_2,plain,
    ! [U_5447,U_5446,U_5445,U_5444,U_5443] :
      ( ( hAPP(list(U_5447),list(U_5447),hAPP(U_5447,fun(list(U_5447),list(U_5447)),cons(U_5447),U_5446),U_5445) = hAPP(list(U_5447),list(U_5447),hAPP(U_5447,fun(list(U_5447),list(U_5447)),cons(U_5447),U_5444),U_5443)
        | U_5445 != U_5443
        | ti(U_5447,U_5446) != ti(U_5447,U_5444) )
      & ( ( U_5445 = U_5443
          & ti(U_5447,U_5446) = ti(U_5447,U_5444) )
        | hAPP(list(U_5447),list(U_5447),hAPP(U_5447,fun(list(U_5447),list(U_5447)),cons(U_5447),U_5446),U_5445) != hAPP(list(U_5447),list(U_5447),hAPP(U_5447,fun(list(U_5447),list(U_5447)),cons(U_5447),U_5444),U_5443) ) ),
    inference(variable_rename,[status(thm)],[f_997_1]) ).

fof(f_997_3,plain,
    ( ! [U_5457,U_5455,U_5453,U_5451,U_5449] :
        ( hAPP(list(U_5457),list(U_5457),hAPP(U_5457,fun(list(U_5457),list(U_5457)),cons(U_5457),U_5455),U_5453) = hAPP(list(U_5457),list(U_5457),hAPP(U_5457,fun(list(U_5457),list(U_5457)),cons(U_5457),U_5451),U_5449)
        | U_5453 != U_5449
        | ti(U_5457,U_5455) != ti(U_5457,U_5451) )
    & ! [U_5456,U_5454,U_5452,U_5450,U_5448] :
        ( ( U_5452 = U_5448
          & ti(U_5456,U_5454) = ti(U_5456,U_5450) )
        | hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5454),U_5452) != hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5450),U_5448) ) ),
    inference(miniscope,[status(thm)],[f_997_2]) ).

cnf(f_997_4,plain,
    ( ti(U_5456,U_5454) = ti(U_5456,U_5450)
    | hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5454),U_5452) != hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5450),U_5448) ),
    inference(clausify,[status(thm)],[f_997_3]) ).

cnf(f_997_5,plain,
    ( U_5452 = U_5448
    | hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5454),U_5452) != hAPP(list(U_5456),list(U_5456),hAPP(U_5456,fun(list(U_5456),list(U_5456)),cons(U_5456),U_5450),U_5448) ),
    inference(clausify,[status(thm)],[f_997_3]) ).

cnf(f_997_6,plain,
    ( hAPP(list(U_5457),list(U_5457),hAPP(U_5457,fun(list(U_5457),list(U_5457)),cons(U_5457),U_5455),U_5453) = hAPP(list(U_5457),list(U_5457),hAPP(U_5457,fun(list(U_5457),list(U_5457)),cons(U_5457),U_5451),U_5449)
    | U_5453 != U_5449
    | ti(U_5457,U_5455) != ti(U_5457,U_5451) ),
    inference(clausify,[status(thm)],[f_997_3]) ).

fof(f_998_1,plain,
    ! [Eb,Esa] : hAPP(list(exp(list(char))),fun(list(char),bool),fvs,hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,Eb)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,Esa)),
    inference(fof_nnf,[status(thm)],[fact_850_fv__fvs_Osimps_I17_J]) ).

fof(f_998_2,plain,
    ! [U_5459,U_5458] : hAPP(list(exp(list(char))),fun(list(char),bool),fvs,hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5459),U_5458)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_5459)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,U_5458)),
    inference(variable_rename,[status(thm)],[f_998_1]) ).

cnf(f_998_3,plain,
    hAPP(list(exp(list(char))),fun(list(char),bool),fvs,hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5459),U_5458)) = hAPP(fun(list(char),bool),fun(list(char),bool),hAPP(fun(list(char),bool),fun(fun(list(char),bool),fun(list(char),bool)),semilattice_sup_sup(fun(list(char),bool)),hAPP(exp(list(char)),fun(list(char),bool),fv,U_5459)),hAPP(list(exp(list(char))),fun(list(char),bool),fvs,U_5458)),
    inference(clausify,[status(thm)],[f_998_2]) ).

fof(f_999_1,plain,
    ! [X_b,X_a,F,X_1,Xs] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs)),
    inference(fof_nnf,[status(thm)],[fact_851_map_Osimps_I2_J]) ).

fof(f_999_2,plain,
    ! [U_5464,U_5463,U_5462,U_5461,U_5460] : hAPP(list(U_5464),list(U_5463),hAPP(fun(U_5464,U_5463),fun(list(U_5464),list(U_5463)),map(U_5464,U_5463),U_5462),hAPP(list(U_5464),list(U_5464),hAPP(U_5464,fun(list(U_5464),list(U_5464)),cons(U_5464),U_5461),U_5460)) = hAPP(list(U_5463),list(U_5463),hAPP(U_5463,fun(list(U_5463),list(U_5463)),cons(U_5463),hAPP(U_5464,U_5463,U_5462,U_5461)),hAPP(list(U_5464),list(U_5463),hAPP(fun(U_5464,U_5463),fun(list(U_5464),list(U_5463)),map(U_5464,U_5463),U_5462),U_5460)),
    inference(variable_rename,[status(thm)],[f_999_1]) ).

cnf(f_999_3,plain,
    hAPP(list(U_5464),list(U_5463),hAPP(fun(U_5464,U_5463),fun(list(U_5464),list(U_5463)),map(U_5464,U_5463),U_5462),hAPP(list(U_5464),list(U_5464),hAPP(U_5464,fun(list(U_5464),list(U_5464)),cons(U_5464),U_5461),U_5460)) = hAPP(list(U_5463),list(U_5463),hAPP(U_5463,fun(list(U_5463),list(U_5463)),cons(U_5463),hAPP(U_5464,U_5463,U_5462,U_5461)),hAPP(list(U_5464),list(U_5463),hAPP(fun(U_5464,U_5463),fun(list(U_5464),list(U_5463)),map(U_5464,U_5463),U_5462),U_5460)),
    inference(clausify,[status(thm)],[f_999_2]) ).

fof(f_1000_1,plain,
    ! [Esa,Es_a,S_2_1,Pa,Eb,S_0,Va,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1),Es_a),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_852_eval__evals_OCons]) ).

fof(f_1000_2,plain,
    ! [U_5472,U_5471,U_5470,U_5469,U_5468,U_5467,U_5466,U_5465] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5469),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5468),U_5472)),U_5467),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5466)),U_5471)),U_5470))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5469),U_5472),U_5465),U_5471),U_5470))
      | ~ 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,U_5469),U_5468),U_5467),hAPP(val,exp(list(char)),val_1(list(char)),U_5466)),U_5465)) ),
    inference(variable_rename,[status(thm)],[f_1000_1]) ).

cnf(f_1000_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5469),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5468),U_5472)),U_5467),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5466)),U_5471)),U_5470))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5469),U_5472),U_5465),U_5471),U_5470))
    | ~ 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,U_5469),U_5468),U_5467),hAPP(val,exp(list(char)),val_1(list(char)),U_5466)),U_5465)) ),
    inference(clausify,[status(thm)],[f_1000_2]) ).

fof(f_1001_1,plain,
    ! [Esa,Pa,Eb,S_0,E_b,S_1] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),Esa)),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),Eb),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_b)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_853_ConsThrow]) ).

fof(f_1001_2,plain,
    ! [U_5478,U_5477,U_5476,U_5475,U_5474,U_5473] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5477),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5476),U_5478)),U_5475),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5474)),U_5478)),U_5473))
      | ~ 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,U_5477),U_5476),U_5475),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5474)),U_5473)) ),
    inference(variable_rename,[status(thm)],[f_1001_1]) ).

cnf(f_1001_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5477),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5476),U_5478)),U_5475),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5474)),U_5478)),U_5473))
    | ~ 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,U_5477),U_5476),U_5475),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5474)),U_5473)) ),
    inference(clausify,[status(thm)],[f_1001_2]) ).

fof(f_1002_1,plain,
    ! [Va,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_854_red__reds_OListRed2]) ).

fof(f_1002_2,plain,
    ! [U_5484,U_5483,U_5482,U_5481,U_5480,U_5479] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5484)),U_5483)),U_5482)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5484)),U_5481)),U_5480))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5479)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5483),U_5482)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5481),U_5480))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5479))) ),
    inference(variable_rename,[status(thm)],[f_1002_1]) ).

cnf(f_1002_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5484)),U_5483)),U_5482)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5484)),U_5481)),U_5480))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5479)))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5483),U_5482)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5481),U_5480))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5479))) ),
    inference(clausify,[status(thm)],[f_1002_2]) ).

fof(f_1003_1,plain,
    ! [Pa,Va,M,S,Esa,Vs_1,Eb,Es_a] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),S))
      | Esa != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Es_a)) ),
    inference(fof_nnf,[status(thm)],[fact_855_redp__redsp_OCallThrowParams]) ).

fof(f_1003_2,plain,
    ! [U_5492,U_5491,U_5490,U_5489,U_5488,U_5487,U_5486,U_5485] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5492),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5491)),U_5490),U_5488)),U_5489),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5489))
      | U_5488 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5487)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5485)) ),
    inference(variable_rename,[status(thm)],[f_1003_1]) ).

fof(f_1003_3,plain,
    ! [U_5492,U_5491,U_5490,U_5489,U_5488,U_5487,U_5486] :
      ( ! [U_5485] : U_5488 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5487)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5485))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5492),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5491)),U_5490),U_5488)),U_5489),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5489)) ),
    inference(miniscope,[status(thm)],[f_1003_2]) ).

cnf(f_1003_4,plain,
    ( U_5488 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5487)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5485))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5492),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5491)),U_5490),U_5488)),U_5489),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5486)),U_5489)) ),
    inference(clausify,[status(thm)],[f_1003_3]) ).

fof(f_1004_1,plain,
    ! [Vs_1,Es_a,Pa,X_1,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),Es_a))),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Es_a))),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),X_1)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_856_list__eval__Throw]) ).

fof(f_1004_2,plain,
    ! [U_5499,U_5498,U_5497,U_5496,U_5495,U_5494,U_5493] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5497),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5499)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5496)),U_5498))),U_5495),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5499)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5494),U_5498))),U_5493))
      | ~ 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,U_5497),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5496)),U_5495),U_5494),U_5493)) ),
    inference(variable_rename,[status(thm)],[f_1004_1]) ).

cnf(f_1004_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5497),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5499)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5496)),U_5498))),U_5495),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5499)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5494),U_5498))),U_5493))
    | ~ 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,U_5497),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5496)),U_5495),U_5494),U_5493)) ),
    inference(clausify,[status(thm)],[f_1004_2]) ).

fof(f_1005_1,plain,
    ! [Va,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_857_ListReds2]) ).

fof(f_1005_2,plain,
    ! [U_5505,U_5504,U_5503,U_5502,U_5501,U_5500] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5505)),U_5504)),U_5503)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5505)),U_5502)),U_5501))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5500))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5504),U_5503)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5502),U_5501))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5500)))) ),
    inference(variable_rename,[status(thm)],[f_1005_1]) ).

cnf(f_1005_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5505)),U_5504)),U_5503)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5505)),U_5502)),U_5501))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5500))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5504),U_5503)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5502),U_5501))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5500)))) ),
    inference(clausify,[status(thm)],[f_1005_2]) ).

fof(f_1006_1,plain,
    ! [Esa,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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))) ),
    inference(fof_nnf,[status(thm)],[fact_858_red__reds_OListRed1]) ).

fof(f_1006_2,plain,
    ! [U_5511,U_5510,U_5509,U_5508,U_5507,U_5506] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5510),U_5511)),U_5509)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5508),U_5511)),U_5507))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5506)))
      | ~ 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)))),U_5510),U_5509)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5508),U_5507))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5506))) ),
    inference(variable_rename,[status(thm)],[f_1006_1]) ).

cnf(f_1006_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5510),U_5511)),U_5509)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5508),U_5511)),U_5507))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5506)))
    | ~ 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)))),U_5510),U_5509)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5508),U_5507))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5506))) ),
    inference(clausify,[status(thm)],[f_1006_2]) ).

fof(f_1007_1,plain,
    ! [M,Esa,Vs_1,Ex,Es_a,S_2_1,Pa,Eb,S_0,Va,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(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Ex)),Es_a))),S_2_1))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_859_CallParamsThrow]) ).

fof(f_1007_2,plain,
    ! [U_5522,U_5521,U_5520,U_5519,U_5518,U_5517,U_5516,U_5515,U_5514,U_5513,U_5512] :
      ( 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,U_5516),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5515),U_5522),U_5521)),U_5514),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5519)),U_5517))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5516),U_5521),U_5512),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5520)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5519)),U_5518))),U_5517))
      | ~ 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,U_5516),U_5515),U_5514),hAPP(val,exp(list(char)),val_1(list(char)),U_5513)),U_5512)) ),
    inference(variable_rename,[status(thm)],[f_1007_1]) ).

cnf(f_1007_3,plain,
    ( 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,U_5516),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5515),U_5522),U_5521)),U_5514),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5519)),U_5517))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5516),U_5521),U_5512),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5520)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5519)),U_5518))),U_5517))
    | ~ 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,U_5516),U_5515),U_5514),hAPP(val,exp(list(char)),val_1(list(char)),U_5513)),U_5512)) ),
    inference(clausify,[status(thm)],[f_1007_2]) ).

fof(f_1008_1,plain,
    ! [Va,M,S,Pa,Esa,Vs_1,Eb,Es_a] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),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)))
      | Esa != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),Eb)),Es_a)) ),
    inference(fof_nnf,[status(thm)],[fact_860_red__reds_OCallThrowParams]) ).

fof(f_1008_2,plain,
    ! [U_5530,U_5529,U_5528,U_5527,U_5526,U_5525,U_5524,U_5523] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5530)),U_5529),U_5526)),U_5528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5528))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5527)))
      | U_5526 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5525)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5523)) ),
    inference(variable_rename,[status(thm)],[f_1008_1]) ).

fof(f_1008_3,plain,
    ! [U_5530,U_5529,U_5528,U_5527,U_5526,U_5525,U_5524] :
      ( ! [U_5523] : U_5526 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5525)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5523))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5530)),U_5529),U_5526)),U_5528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5528))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5527))) ),
    inference(miniscope,[status(thm)],[f_1008_2]) ).

cnf(f_1008_4,plain,
    ( U_5526 != hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(list(exp(list(char))),fun(list(exp(list(char))),list(exp(list(char)))),append(exp(list(char))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_5525)),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5523))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5530)),U_5529),U_5526)),U_5528)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5524)),U_5528))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_5527))) ),
    inference(clausify,[status(thm)],[f_1008_3]) ).

fof(f_1009_1,plain,
    ! [Esa,Eb,S,E_b,S_3,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),E_b),S_3))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_861_ListReds1]) ).

fof(f_1009_2,plain,
    ! [U_5536,U_5535,U_5534,U_5533,U_5532,U_5531] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5535),U_5536)),U_5534)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5533),U_5536)),U_5532))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5531))))
      | ~ 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)))),U_5535),U_5534)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5533),U_5532))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5531)))) ),
    inference(variable_rename,[status(thm)],[f_1009_1]) ).

cnf(f_1009_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5535),U_5536)),U_5534)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5533),U_5536)),U_5532))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5531))))
    | ~ 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)))),U_5535),U_5534)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5533),U_5532))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5531)))) ),
    inference(clausify,[status(thm)],[f_1009_2]) ).

fof(f_1010_1,plain,
    ! [Esa,Es_a,S_2_1,Eb,S_0,Va,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_2_1))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_862_ListRedsVal]) ).

fof(f_1010_2,plain,
    ! [U_5544,U_5543,U_5542,U_5541,U_5540,U_5539,U_5538,U_5537] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5541),U_5544)),U_5540)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5539)),U_5543)),U_5542))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5537))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5544),U_5538)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5543),U_5542))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5537))))
      | ~ 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)))),U_5541),U_5540)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_5539)),U_5538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5537)))) ),
    inference(variable_rename,[status(thm)],[f_1010_1]) ).

cnf(f_1010_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5541),U_5544)),U_5540)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5539)),U_5543)),U_5542))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5537))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5544),U_5538)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5543),U_5542))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5537))))
    | ~ 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)))),U_5541),U_5540)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),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)),U_5539)),U_5538))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_5537)))) ),
    inference(clausify,[status(thm)],[f_1010_2]) ).

fof(f_1011_1,plain,
    ! [X_a,Vs_1,Esa] :
      ( ( hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_1)),Esa)))
        | ~ hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa)) )
      & ( hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa))
        | ~ hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_1)),Esa))) ) ),
    inference(fof_nnf,[status(thm)],[fact_863_finals__app__map]) ).

fof(f_1011_2,plain,
    ! [U_5547,U_5546,U_5545] :
      ( ( hBOOL(hAPP(list(exp(U_5547)),bool,finals(U_5547),hAPP(list(exp(U_5547)),list(exp(U_5547)),hAPP(list(exp(U_5547)),fun(list(exp(U_5547)),list(exp(U_5547))),append(exp(U_5547)),hAPP(list(val),list(exp(U_5547)),hAPP(fun(val,exp(U_5547)),fun(list(val),list(exp(U_5547))),map(val,exp(U_5547)),val_1(U_5547)),U_5546)),U_5545)))
        | ~ hBOOL(hAPP(list(exp(U_5547)),bool,finals(U_5547),U_5545)) )
      & ( hBOOL(hAPP(list(exp(U_5547)),bool,finals(U_5547),U_5545))
        | ~ hBOOL(hAPP(list(exp(U_5547)),bool,finals(U_5547),hAPP(list(exp(U_5547)),list(exp(U_5547)),hAPP(list(exp(U_5547)),fun(list(exp(U_5547)),list(exp(U_5547))),append(exp(U_5547)),hAPP(list(val),list(exp(U_5547)),hAPP(fun(val,exp(U_5547)),fun(list(val),list(exp(U_5547))),map(val,exp(U_5547)),val_1(U_5547)),U_5546)),U_5545))) ) ),
    inference(variable_rename,[status(thm)],[f_1011_1]) ).

fof(f_1011_3,plain,
    ( ! [U_5553,U_5551,U_5549] :
        ( hBOOL(hAPP(list(exp(U_5553)),bool,finals(U_5553),hAPP(list(exp(U_5553)),list(exp(U_5553)),hAPP(list(exp(U_5553)),fun(list(exp(U_5553)),list(exp(U_5553))),append(exp(U_5553)),hAPP(list(val),list(exp(U_5553)),hAPP(fun(val,exp(U_5553)),fun(list(val),list(exp(U_5553))),map(val,exp(U_5553)),val_1(U_5553)),U_5551)),U_5549)))
        | ~ hBOOL(hAPP(list(exp(U_5553)),bool,finals(U_5553),U_5549)) )
    & ! [U_5552,U_5550,U_5548] :
        ( hBOOL(hAPP(list(exp(U_5552)),bool,finals(U_5552),U_5548))
        | ~ hBOOL(hAPP(list(exp(U_5552)),bool,finals(U_5552),hAPP(list(exp(U_5552)),list(exp(U_5552)),hAPP(list(exp(U_5552)),fun(list(exp(U_5552)),list(exp(U_5552))),append(exp(U_5552)),hAPP(list(val),list(exp(U_5552)),hAPP(fun(val,exp(U_5552)),fun(list(val),list(exp(U_5552))),map(val,exp(U_5552)),val_1(U_5552)),U_5550)),U_5548))) ) ),
    inference(miniscope,[status(thm)],[f_1011_2]) ).

cnf(f_1011_4,plain,
    ( hBOOL(hAPP(list(exp(U_5552)),bool,finals(U_5552),U_5548))
    | ~ hBOOL(hAPP(list(exp(U_5552)),bool,finals(U_5552),hAPP(list(exp(U_5552)),list(exp(U_5552)),hAPP(list(exp(U_5552)),fun(list(exp(U_5552)),list(exp(U_5552))),append(exp(U_5552)),hAPP(list(val),list(exp(U_5552)),hAPP(fun(val,exp(U_5552)),fun(list(val),list(exp(U_5552))),map(val,exp(U_5552)),val_1(U_5552)),U_5550)),U_5548))) ),
    inference(clausify,[status(thm)],[f_1011_3]) ).

cnf(f_1011_5,plain,
    ( hBOOL(hAPP(list(exp(U_5553)),bool,finals(U_5553),hAPP(list(exp(U_5553)),list(exp(U_5553)),hAPP(list(exp(U_5553)),fun(list(exp(U_5553)),list(exp(U_5553))),append(exp(U_5553)),hAPP(list(val),list(exp(U_5553)),hAPP(fun(val,exp(U_5553)),fun(list(val),list(exp(U_5553))),map(val,exp(U_5553)),val_1(U_5553)),U_5551)),U_5549)))
    | ~ hBOOL(hAPP(list(exp(U_5553)),bool,finals(U_5553),U_5549)) ),
    inference(clausify,[status(thm)],[f_1011_3]) ).

fof(f_1012_1,plain,
    ! [Pa,Eb,Esa,S,E_b,S_3] :
      ( ? [E_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),Eb),S),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),S_3))
          & E_b = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),E_1)),Esa) )
      | ? [V,S_1_1,Es] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S_1_1),Es),S_3))
          & hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),S),hAPP(val,exp(list(char)),val_1(list(char)),V)),S_1_1))
          & E_b = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),V)),Es) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_864_evals__cases_I2_J]) ).

fof(f_1012_2,plain,
    ! [U_5563,U_5562,U_5561,U_5560,U_5559,U_5558] :
      ( ? [U_5557] :
          ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5558))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5561) )
      | ? [U_5556,U_5555,U_5554] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),U_5555),U_5554),U_5558))
          & 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),U_5556)),U_5555))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5556)),U_5554) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(variable_rename,[status(thm)],[f_1012_1]) ).

fof(f_1012_3,plain,
    ! [U_5563,U_5562,U_5561,U_5560,U_5559,U_5558] :
      ( ? [U_5557] :
          ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5558))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5561) )
      | ? [U_5555,U_5554] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),U_5555),U_5554),U_5558))
          & 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5555))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5554) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK204]),skolemize(U_5556,sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))],[f_1012_2]) ).

fof(f_1012_4,plain,
    ! [U_5563,U_5562,U_5561,U_5560,U_5559,U_5558] :
      ( ? [U_5557] :
          ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5558))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5561) )
      | ? [U_5554] :
          ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),U_5554),U_5558))
          & 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5554) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK205]),skolemize(U_5555,sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))],[f_1012_3]) ).

fof(f_1012_5,plain,
    ! [U_5563,U_5562,U_5561,U_5560,U_5559,U_5558] :
      ( ? [U_5557] :
          ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5558))
          & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),U_5557)),U_5561) )
      | ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),U_5558))
        & 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)))
        & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK206]),skolemize(U_5554,sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))],[f_1012_4]) ).

fof(f_1012_6,plain,
    ! [U_5563,U_5562,U_5561,U_5560,U_5559,U_5558] :
      ( ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5558))
        & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5561) )
      | ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),U_5558))
        & 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)))
        & U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)) )
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK207]),skolemize(U_5557,sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))],[f_1012_5]) ).

cnf(f_1012_7,plain,
    ( U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5561)
    | U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

cnf(f_1012_8,plain,
    ( 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5558))
    | U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

cnf(f_1012_9,plain,
    ( 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)))
    | U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5561)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

cnf(f_1012_10,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),U_5558))
    | U_5559 = hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5561)
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

cnf(f_1012_11,plain,
    ( 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,U_5563),U_5562),U_5560),hAPP(val,exp(list(char)),val_1(list(char)),sK204(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)))
    | 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5558))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

cnf(f_1012_12,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),U_5561),sK205(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),sK206(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558)),U_5558))
    | 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,U_5563),U_5562),U_5560),hAPP(exp(list(char)),exp(list(char)),throw(list(char)),sK207(U_5563,U_5562,U_5561,U_5560,U_5559,U_5558))),U_5558))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5563),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5562),U_5561)),U_5560),U_5559),U_5558)) ),
    inference(clausify,[status(thm)],[f_1012_6]) ).

fof(f_1013_1,plain,
    ! [Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Es_a))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Es_a),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_865_evals__final]) ).

fof(f_1013_2,plain,
    ! [U_5568,U_5567,U_5566,U_5565,U_5564] :
      ( hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),U_5565))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5568),U_5567),U_5566),U_5565),U_5564)) ),
    inference(variable_rename,[status(thm)],[f_1013_1]) ).

fof(f_1013_3,plain,
    ! [U_5568,U_5567,U_5566,U_5565] :
      ( ! [U_5564] : ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5568),U_5567),U_5566),U_5565),U_5564))
      | hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),U_5565)) ),
    inference(miniscope,[status(thm)],[f_1013_2]) ).

cnf(f_1013_4,plain,
    ( ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5568),U_5567),U_5566),U_5565),U_5564))
    | hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),U_5565)) ),
    inference(clausify,[status(thm)],[f_1013_3]) ).

fof(f_1014_1,plain,
    ! [Pa,S,Esa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Esa),S),Esa),S))
      | ~ hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),Esa)) ),
    inference(fof_nnf,[status(thm)],[fact_866_eval__finalsId]) ).

fof(f_1014_2,plain,
    ! [U_5571,U_5570,U_5569] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5571),U_5569),U_5570),U_5569),U_5570))
      | ~ hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),U_5569)) ),
    inference(variable_rename,[status(thm)],[f_1014_1]) ).

cnf(f_1014_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_5571),U_5569),U_5570),U_5569),U_5570))
    | ~ hBOOL(hAPP(list(exp(list(char))),bool,finals(list(char)),U_5569)) ),
    inference(clausify,[status(thm)],[f_1014_2]) ).

fof(f_1015_1,plain,
    ! [X_a,Es_1,E] :
      ( ~ hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),E),Es_1)))
      | hBOOL(hAPP(exp(X_a),bool,final(X_a),E)) ),
    inference(fof_nnf,[status(thm)],[fact_867_not__finals__ConsI]) ).

fof(f_1015_2,plain,
    ! [U_5574,U_5573,U_5572] :
      ( ~ hBOOL(hAPP(list(exp(U_5574)),bool,finals(U_5574),hAPP(list(exp(U_5574)),list(exp(U_5574)),hAPP(exp(U_5574),fun(list(exp(U_5574)),list(exp(U_5574))),cons(exp(U_5574)),U_5572),U_5573)))
      | hBOOL(hAPP(exp(U_5574),bool,final(U_5574),U_5572)) ),
    inference(variable_rename,[status(thm)],[f_1015_1]) ).

cnf(f_1015_3,plain,
    ( ~ hBOOL(hAPP(list(exp(U_5574)),bool,finals(U_5574),hAPP(list(exp(U_5574)),list(exp(U_5574)),hAPP(exp(U_5574),fun(list(exp(U_5574)),list(exp(U_5574))),cons(exp(U_5574)),U_5572),U_5573)))
    | hBOOL(hAPP(exp(U_5574),bool,final(U_5574),U_5572)) ),
    inference(clausify,[status(thm)],[f_1015_2]) ).

fof(f_1016_1,plain,
    ! [X_a,Esa] :
      ( ( hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa))
        | ( ! [Vs_2,A_3,Es] : Esa != hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2)),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))),Es))
          & ! [Vs_2] : Esa != hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2) ) )
      & ( ? [Vs_2,A_3,Es] : Esa = hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(list(exp(X_a)),fun(list(exp(X_a)),list(exp(X_a))),append(exp(X_a)),hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2)),hAPP(list(exp(X_a)),list(exp(X_a)),hAPP(exp(X_a),fun(list(exp(X_a)),list(exp(X_a))),cons(exp(X_a)),hAPP(exp(X_a),exp(X_a),throw(X_a),hAPP(val,exp(X_a),val_1(X_a),hAPP(nat,val,addr,A_3)))),Es))
        | ? [Vs_2] : Esa = hAPP(list(val),list(exp(X_a)),hAPP(fun(val,exp(X_a)),fun(list(val),list(exp(X_a))),map(val,exp(X_a)),val_1(X_a)),Vs_2)
        | ~ hBOOL(hAPP(list(exp(X_a)),bool,finals(X_a),Esa)) ) ),
    inference(fof_nnf,[status(thm)],[fact_868_finals__def]) ).

fof(f_1016_2,plain,
    ! [U_5584,U_5583] :
      ( ( hBOOL(hAPP(list(exp(U_5584)),bool,finals(U_5584),U_5583))
        | ( ! [U_5582,U_5581,U_5580] : U_5583 != hAPP(list(exp(U_5584)),list(exp(U_5584)),hAPP(list(exp(U_5584)),fun(list(exp(U_5584)),list(exp(U_5584))),append(exp(U_5584)),hAPP(list(val),list(exp(U_5584)),hAPP(fun(val,exp(U_5584)),fun(list(val),list(exp(U_5584))),map(val,exp(U_5584)),val_1(U_5584)),U_5582)),hAPP(list(exp(U_5584)),list(exp(U_5584)),hAPP(exp(U_5584),fun(list(exp(U_5584)),list(exp(U_5584))),cons(exp(U_5584)),hAPP(exp(U_5584),exp(U_5584),throw(U_5584),hAPP(val,exp(U_5584),val_1(U_5584),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5583 != hAPP(list(val),list(exp(U_5584)),hAPP(fun(val,exp(U_5584)),fun(list(val),list(exp(U_5584))),map(val,exp(U_5584)),val_1(U_5584)),U_5579) ) )
      & ( ? [U_5578,U_5577,U_5576] : U_5583 = hAPP(list(exp(U_5584)),list(exp(U_5584)),hAPP(list(exp(U_5584)),fun(list(exp(U_5584)),list(exp(U_5584))),append(exp(U_5584)),hAPP(list(val),list(exp(U_5584)),hAPP(fun(val,exp(U_5584)),fun(list(val),list(exp(U_5584))),map(val,exp(U_5584)),val_1(U_5584)),U_5578)),hAPP(list(exp(U_5584)),list(exp(U_5584)),hAPP(exp(U_5584),fun(list(exp(U_5584)),list(exp(U_5584))),cons(exp(U_5584)),hAPP(exp(U_5584),exp(U_5584),throw(U_5584),hAPP(val,exp(U_5584),val_1(U_5584),hAPP(nat,val,addr,U_5577)))),U_5576))
        | ? [U_5575] : U_5583 = hAPP(list(val),list(exp(U_5584)),hAPP(fun(val,exp(U_5584)),fun(list(val),list(exp(U_5584))),map(val,exp(U_5584)),val_1(U_5584)),U_5575)
        | ~ hBOOL(hAPP(list(exp(U_5584)),bool,finals(U_5584),U_5583)) ) ),
    inference(variable_rename,[status(thm)],[f_1016_1]) ).

fof(f_1016_3,plain,
    ( ! [U_5588,U_5586] :
        ( hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586))
        | ( ! [U_5582,U_5581,U_5580] : U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579) ) )
    & ! [U_5587,U_5585] :
        ( ? [U_5578,U_5577,U_5576] : U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),U_5578)),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,U_5577)))),U_5576))
        | ? [U_5575] : U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),U_5575)
        | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ) ),
    inference(miniscope,[status(thm)],[f_1016_2]) ).

fof(f_1016_4,plain,
    ( ! [U_5588,U_5586] :
        ( hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586))
        | ( ! [U_5582,U_5581,U_5580] : U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579) ) )
    & ! [U_5587,U_5585] :
        ( ? [U_5578,U_5577,U_5576] : U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),U_5578)),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,U_5577)))),U_5576))
        | U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK208(U_5587,U_5585))
        | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK208]),skolemize(U_5575,sK208(U_5587,U_5585))],[f_1016_3]) ).

fof(f_1016_5,plain,
    ( ! [U_5588,U_5586] :
        ( hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586))
        | ( ! [U_5582,U_5581,U_5580] : U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579) ) )
    & ! [U_5587,U_5585] :
        ( ? [U_5577,U_5576] : U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK209(U_5587,U_5585))),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,U_5577)))),U_5576))
        | U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK208(U_5587,U_5585))
        | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK209]),skolemize(U_5578,sK209(U_5587,U_5585))],[f_1016_4]) ).

fof(f_1016_6,plain,
    ( ! [U_5588,U_5586] :
        ( hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586))
        | ( ! [U_5582,U_5581,U_5580] : U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579) ) )
    & ! [U_5587,U_5585] :
        ( ? [U_5576] : U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK209(U_5587,U_5585))),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,sK210(U_5587,U_5585))))),U_5576))
        | U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK208(U_5587,U_5585))
        | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK210]),skolemize(U_5577,sK210(U_5587,U_5585))],[f_1016_5]) ).

fof(f_1016_7,plain,
    ( ! [U_5588,U_5586] :
        ( hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586))
        | ( ! [U_5582,U_5581,U_5580] : U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
          & ! [U_5579] : U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579) ) )
    & ! [U_5587,U_5585] :
        ( U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK209(U_5587,U_5585))),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,sK210(U_5587,U_5585))))),sK211(U_5587,U_5585)))
        | U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK208(U_5587,U_5585))
        | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK211]),skolemize(U_5576,sK211(U_5587,U_5585))],[f_1016_6]) ).

cnf(f_1016_8,plain,
    ( U_5585 = hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(list(exp(U_5587)),fun(list(exp(U_5587)),list(exp(U_5587))),append(exp(U_5587)),hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK209(U_5587,U_5585))),hAPP(list(exp(U_5587)),list(exp(U_5587)),hAPP(exp(U_5587),fun(list(exp(U_5587)),list(exp(U_5587))),cons(exp(U_5587)),hAPP(exp(U_5587),exp(U_5587),throw(U_5587),hAPP(val,exp(U_5587),val_1(U_5587),hAPP(nat,val,addr,sK210(U_5587,U_5585))))),sK211(U_5587,U_5585)))
    | U_5585 = hAPP(list(val),list(exp(U_5587)),hAPP(fun(val,exp(U_5587)),fun(list(val),list(exp(U_5587))),map(val,exp(U_5587)),val_1(U_5587)),sK208(U_5587,U_5585))
    | ~ hBOOL(hAPP(list(exp(U_5587)),bool,finals(U_5587),U_5585)) ),
    inference(clausify,[status(thm)],[f_1016_7]) ).

cnf(f_1016_9,plain,
    ( U_5586 != hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5579)
    | hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586)) ),
    inference(clausify,[status(thm)],[f_1016_7]) ).

cnf(f_1016_10,plain,
    ( U_5586 != hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(list(exp(U_5588)),fun(list(exp(U_5588)),list(exp(U_5588))),append(exp(U_5588)),hAPP(list(val),list(exp(U_5588)),hAPP(fun(val,exp(U_5588)),fun(list(val),list(exp(U_5588))),map(val,exp(U_5588)),val_1(U_5588)),U_5582)),hAPP(list(exp(U_5588)),list(exp(U_5588)),hAPP(exp(U_5588),fun(list(exp(U_5588)),list(exp(U_5588))),cons(exp(U_5588)),hAPP(exp(U_5588),exp(U_5588),throw(U_5588),hAPP(val,exp(U_5588),val_1(U_5588),hAPP(nat,val,addr,U_5581)))),U_5580))
    | hBOOL(hAPP(list(exp(U_5588)),bool,finals(U_5588),U_5586)) ),
    inference(clausify,[status(thm)],[f_1016_7]) ).

fof(f_1017_1,plain,
    ! [X_b,X_a,F,Xs,Y_1,Ys] :
      ( ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)
        | ! [Z,Zs_1] :
            ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1) != Ys
            | hAPP(X_b,X_a,F,Z) != ti(X_a,Y_1)
            | Xs != hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) ) )
      & ( ? [Z,Zs_1] :
            ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1) = Ys
            & hAPP(X_b,X_a,F,Z) = ti(X_a,Y_1)
            & Xs = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) )
        | hAPP(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_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys) ) ),
    inference(fof_nnf,[status(thm)],[fact_869_map__eq__Cons__conv]) ).

fof(f_1017_2,plain,
    ! [U_5598,U_5597,U_5596,U_5595,U_5594,U_5593] :
      ( ( hAPP(list(U_5598),list(U_5597),hAPP(fun(U_5598,U_5597),fun(list(U_5598),list(U_5597)),map(U_5598,U_5597),U_5596),U_5595) = hAPP(list(U_5597),list(U_5597),hAPP(U_5597,fun(list(U_5597),list(U_5597)),cons(U_5597),U_5594),U_5593)
        | ! [U_5592,U_5591] :
            ( hAPP(list(U_5598),list(U_5597),hAPP(fun(U_5598,U_5597),fun(list(U_5598),list(U_5597)),map(U_5598,U_5597),U_5596),U_5591) != U_5593
            | hAPP(U_5598,U_5597,U_5596,U_5592) != ti(U_5597,U_5594)
            | U_5595 != hAPP(list(U_5598),list(U_5598),hAPP(U_5598,fun(list(U_5598),list(U_5598)),cons(U_5598),U_5592),U_5591) ) )
      & ( ? [U_5590,U_5589] :
            ( hAPP(list(U_5598),list(U_5597),hAPP(fun(U_5598,U_5597),fun(list(U_5598),list(U_5597)),map(U_5598,U_5597),U_5596),U_5589) = U_5593
            & hAPP(U_5598,U_5597,U_5596,U_5590) = ti(U_5597,U_5594)
            & U_5595 = hAPP(list(U_5598),list(U_5598),hAPP(U_5598,fun(list(U_5598),list(U_5598)),cons(U_5598),U_5590),U_5589) )
        | hAPP(list(U_5598),list(U_5597),hAPP(fun(U_5598,U_5597),fun(list(U_5598),list(U_5597)),map(U_5598,U_5597),U_5596),U_5595) != hAPP(list(U_5597),list(U_5597),hAPP(U_5597,fun(list(U_5597),list(U_5597)),cons(U_5597),U_5594),U_5593) ) ),
    inference(variable_rename,[status(thm)],[f_1017_1]) ).

fof(f_1017_3,plain,
    ( ! [U_5610,U_5608,U_5606,U_5604,U_5602,U_5600] :
        ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5604) = hAPP(list(U_5608),list(U_5608),hAPP(U_5608,fun(list(U_5608),list(U_5608)),cons(U_5608),U_5602),U_5600)
        | ! [U_5592] :
            ( ! [U_5591] :
                ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5591) != U_5600
                | U_5604 != hAPP(list(U_5610),list(U_5610),hAPP(U_5610,fun(list(U_5610),list(U_5610)),cons(U_5610),U_5592),U_5591) )
            | hAPP(U_5610,U_5608,U_5606,U_5592) != ti(U_5608,U_5602) ) )
    & ! [U_5609,U_5607,U_5605,U_5603,U_5601,U_5599] :
        ( ? [U_5590] :
            ( ? [U_5589] :
                ( hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5589) = U_5599
                & U_5603 = hAPP(list(U_5609),list(U_5609),hAPP(U_5609,fun(list(U_5609),list(U_5609)),cons(U_5609),U_5590),U_5589) )
            & hAPP(U_5609,U_5607,U_5605,U_5590) = ti(U_5607,U_5601) )
        | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ) ),
    inference(miniscope,[status(thm)],[f_1017_2]) ).

fof(f_1017_4,plain,
    ( ! [U_5610,U_5608,U_5606,U_5604,U_5602,U_5600] :
        ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5604) = hAPP(list(U_5608),list(U_5608),hAPP(U_5608,fun(list(U_5608),list(U_5608)),cons(U_5608),U_5602),U_5600)
        | ! [U_5592] :
            ( ! [U_5591] :
                ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5591) != U_5600
                | U_5604 != hAPP(list(U_5610),list(U_5610),hAPP(U_5610,fun(list(U_5610),list(U_5610)),cons(U_5610),U_5592),U_5591) )
            | hAPP(U_5610,U_5608,U_5606,U_5592) != ti(U_5608,U_5602) ) )
    & ! [U_5609,U_5607,U_5605,U_5603,U_5601,U_5599] :
        ( ( ? [U_5589] :
              ( hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5589) = U_5599
              & U_5603 = hAPP(list(U_5609),list(U_5609),hAPP(U_5609,fun(list(U_5609),list(U_5609)),cons(U_5609),sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)),U_5589) )
          & hAPP(U_5609,U_5607,U_5605,sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)) = ti(U_5607,U_5601) )
        | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK212]),skolemize(U_5590,sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599))],[f_1017_3]) ).

fof(f_1017_5,plain,
    ( ! [U_5610,U_5608,U_5606,U_5604,U_5602,U_5600] :
        ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5604) = hAPP(list(U_5608),list(U_5608),hAPP(U_5608,fun(list(U_5608),list(U_5608)),cons(U_5608),U_5602),U_5600)
        | ! [U_5592] :
            ( ! [U_5591] :
                ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5591) != U_5600
                | U_5604 != hAPP(list(U_5610),list(U_5610),hAPP(U_5610,fun(list(U_5610),list(U_5610)),cons(U_5610),U_5592),U_5591) )
            | hAPP(U_5610,U_5608,U_5606,U_5592) != ti(U_5608,U_5602) ) )
    & ! [U_5609,U_5607,U_5605,U_5603,U_5601,U_5599] :
        ( ( hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),sK213(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)) = U_5599
          & U_5603 = hAPP(list(U_5609),list(U_5609),hAPP(U_5609,fun(list(U_5609),list(U_5609)),cons(U_5609),sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)),sK213(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599))
          & hAPP(U_5609,U_5607,U_5605,sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)) = ti(U_5607,U_5601) )
        | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK213]),skolemize(U_5589,sK213(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599))],[f_1017_4]) ).

cnf(f_1017_6,plain,
    ( hAPP(U_5609,U_5607,U_5605,sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)) = ti(U_5607,U_5601)
    | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ),
    inference(clausify,[status(thm)],[f_1017_5]) ).

cnf(f_1017_7,plain,
    ( U_5603 = hAPP(list(U_5609),list(U_5609),hAPP(U_5609,fun(list(U_5609),list(U_5609)),cons(U_5609),sK212(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)),sK213(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599))
    | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ),
    inference(clausify,[status(thm)],[f_1017_5]) ).

cnf(f_1017_8,plain,
    ( hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),sK213(U_5609,U_5607,U_5605,U_5603,U_5601,U_5599)) = U_5599
    | hAPP(list(U_5609),list(U_5607),hAPP(fun(U_5609,U_5607),fun(list(U_5609),list(U_5607)),map(U_5609,U_5607),U_5605),U_5603) != hAPP(list(U_5607),list(U_5607),hAPP(U_5607,fun(list(U_5607),list(U_5607)),cons(U_5607),U_5601),U_5599) ),
    inference(clausify,[status(thm)],[f_1017_5]) ).

cnf(f_1017_9,plain,
    ( hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5604) = hAPP(list(U_5608),list(U_5608),hAPP(U_5608,fun(list(U_5608),list(U_5608)),cons(U_5608),U_5602),U_5600)
    | hAPP(list(U_5610),list(U_5608),hAPP(fun(U_5610,U_5608),fun(list(U_5610),list(U_5608)),map(U_5610,U_5608),U_5606),U_5591) != U_5600
    | U_5604 != hAPP(list(U_5610),list(U_5610),hAPP(U_5610,fun(list(U_5610),list(U_5610)),cons(U_5610),U_5592),U_5591)
    | hAPP(U_5610,U_5608,U_5606,U_5592) != ti(U_5608,U_5602) ),
    inference(clausify,[status(thm)],[f_1017_5]) ).

fof(f_1018_1,plain,
    ! [X_a,X_b,X_1,Xs,F,Ys] :
      ( ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Ys)
        | ! [Z,Zs_1] :
            ( Xs != hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1)
            | ti(X_a,X_1) != hAPP(X_b,X_a,F,Z)
            | Ys != hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) ) )
      & ( ? [Z,Zs_1] :
            ( Xs = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs_1)
            & ti(X_a,X_1) = hAPP(X_b,X_a,F,Z)
            & Ys = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs_1) )
        | hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs) != hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Ys) ) ),
    inference(fof_nnf,[status(thm)],[fact_870_Cons__eq__map__conv]) ).

fof(f_1018_2,plain,
    ! [U_5620,U_5619,U_5618,U_5617,U_5616,U_5615] :
      ( ( hAPP(list(U_5620),list(U_5620),hAPP(U_5620,fun(list(U_5620),list(U_5620)),cons(U_5620),U_5618),U_5617) = hAPP(list(U_5619),list(U_5620),hAPP(fun(U_5619,U_5620),fun(list(U_5619),list(U_5620)),map(U_5619,U_5620),U_5616),U_5615)
        | ! [U_5614,U_5613] :
            ( U_5617 != hAPP(list(U_5619),list(U_5620),hAPP(fun(U_5619,U_5620),fun(list(U_5619),list(U_5620)),map(U_5619,U_5620),U_5616),U_5613)
            | ti(U_5620,U_5618) != hAPP(U_5619,U_5620,U_5616,U_5614)
            | U_5615 != hAPP(list(U_5619),list(U_5619),hAPP(U_5619,fun(list(U_5619),list(U_5619)),cons(U_5619),U_5614),U_5613) ) )
      & ( ? [U_5612,U_5611] :
            ( U_5617 = hAPP(list(U_5619),list(U_5620),hAPP(fun(U_5619,U_5620),fun(list(U_5619),list(U_5620)),map(U_5619,U_5620),U_5616),U_5611)
            & ti(U_5620,U_5618) = hAPP(U_5619,U_5620,U_5616,U_5612)
            & U_5615 = hAPP(list(U_5619),list(U_5619),hAPP(U_5619,fun(list(U_5619),list(U_5619)),cons(U_5619),U_5612),U_5611) )
        | hAPP(list(U_5620),list(U_5620),hAPP(U_5620,fun(list(U_5620),list(U_5620)),cons(U_5620),U_5618),U_5617) != hAPP(list(U_5619),list(U_5620),hAPP(fun(U_5619,U_5620),fun(list(U_5619),list(U_5620)),map(U_5619,U_5620),U_5616),U_5615) ) ),
    inference(variable_rename,[status(thm)],[f_1018_1]) ).

fof(f_1018_3,plain,
    ( ! [U_5632,U_5630,U_5628,U_5626,U_5624,U_5622] :
        ( hAPP(list(U_5632),list(U_5632),hAPP(U_5632,fun(list(U_5632),list(U_5632)),cons(U_5632),U_5628),U_5626) = hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5622)
        | ! [U_5614] :
            ( ! [U_5613] :
                ( U_5626 != hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5613)
                | U_5622 != hAPP(list(U_5630),list(U_5630),hAPP(U_5630,fun(list(U_5630),list(U_5630)),cons(U_5630),U_5614),U_5613) )
            | ti(U_5632,U_5628) != hAPP(U_5630,U_5632,U_5624,U_5614) ) )
    & ! [U_5631,U_5629,U_5627,U_5625,U_5623,U_5621] :
        ( ? [U_5612] :
            ( ? [U_5611] :
                ( U_5625 = hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5611)
                & U_5621 = hAPP(list(U_5629),list(U_5629),hAPP(U_5629,fun(list(U_5629),list(U_5629)),cons(U_5629),U_5612),U_5611) )
            & ti(U_5631,U_5627) = hAPP(U_5629,U_5631,U_5623,U_5612) )
        | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ) ),
    inference(miniscope,[status(thm)],[f_1018_2]) ).

fof(f_1018_4,plain,
    ( ! [U_5632,U_5630,U_5628,U_5626,U_5624,U_5622] :
        ( hAPP(list(U_5632),list(U_5632),hAPP(U_5632,fun(list(U_5632),list(U_5632)),cons(U_5632),U_5628),U_5626) = hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5622)
        | ! [U_5614] :
            ( ! [U_5613] :
                ( U_5626 != hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5613)
                | U_5622 != hAPP(list(U_5630),list(U_5630),hAPP(U_5630,fun(list(U_5630),list(U_5630)),cons(U_5630),U_5614),U_5613) )
            | ti(U_5632,U_5628) != hAPP(U_5630,U_5632,U_5624,U_5614) ) )
    & ! [U_5631,U_5629,U_5627,U_5625,U_5623,U_5621] :
        ( ( ? [U_5611] :
              ( U_5625 = hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5611)
              & U_5621 = hAPP(list(U_5629),list(U_5629),hAPP(U_5629,fun(list(U_5629),list(U_5629)),cons(U_5629),sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621)),U_5611) )
          & ti(U_5631,U_5627) = hAPP(U_5629,U_5631,U_5623,sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621)) )
        | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK214]),skolemize(U_5612,sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))],[f_1018_3]) ).

fof(f_1018_5,plain,
    ( ! [U_5632,U_5630,U_5628,U_5626,U_5624,U_5622] :
        ( hAPP(list(U_5632),list(U_5632),hAPP(U_5632,fun(list(U_5632),list(U_5632)),cons(U_5632),U_5628),U_5626) = hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5622)
        | ! [U_5614] :
            ( ! [U_5613] :
                ( U_5626 != hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5613)
                | U_5622 != hAPP(list(U_5630),list(U_5630),hAPP(U_5630,fun(list(U_5630),list(U_5630)),cons(U_5630),U_5614),U_5613) )
            | ti(U_5632,U_5628) != hAPP(U_5630,U_5632,U_5624,U_5614) ) )
    & ! [U_5631,U_5629,U_5627,U_5625,U_5623,U_5621] :
        ( ( U_5625 = hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),sK215(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))
          & U_5621 = hAPP(list(U_5629),list(U_5629),hAPP(U_5629,fun(list(U_5629),list(U_5629)),cons(U_5629),sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621)),sK215(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))
          & ti(U_5631,U_5627) = hAPP(U_5629,U_5631,U_5623,sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621)) )
        | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK215]),skolemize(U_5611,sK215(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))],[f_1018_4]) ).

cnf(f_1018_6,plain,
    ( ti(U_5631,U_5627) = hAPP(U_5629,U_5631,U_5623,sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))
    | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ),
    inference(clausify,[status(thm)],[f_1018_5]) ).

cnf(f_1018_7,plain,
    ( U_5621 = hAPP(list(U_5629),list(U_5629),hAPP(U_5629,fun(list(U_5629),list(U_5629)),cons(U_5629),sK214(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621)),sK215(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))
    | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ),
    inference(clausify,[status(thm)],[f_1018_5]) ).

cnf(f_1018_8,plain,
    ( U_5625 = hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),sK215(U_5631,U_5629,U_5627,U_5625,U_5623,U_5621))
    | hAPP(list(U_5631),list(U_5631),hAPP(U_5631,fun(list(U_5631),list(U_5631)),cons(U_5631),U_5627),U_5625) != hAPP(list(U_5629),list(U_5631),hAPP(fun(U_5629,U_5631),fun(list(U_5629),list(U_5631)),map(U_5629,U_5631),U_5623),U_5621) ),
    inference(clausify,[status(thm)],[f_1018_5]) ).

cnf(f_1018_9,plain,
    ( hAPP(list(U_5632),list(U_5632),hAPP(U_5632,fun(list(U_5632),list(U_5632)),cons(U_5632),U_5628),U_5626) = hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5622)
    | U_5626 != hAPP(list(U_5630),list(U_5632),hAPP(fun(U_5630,U_5632),fun(list(U_5630),list(U_5632)),map(U_5630,U_5632),U_5624),U_5613)
    | U_5622 != hAPP(list(U_5630),list(U_5630),hAPP(U_5630,fun(list(U_5630),list(U_5630)),cons(U_5630),U_5614),U_5613)
    | ti(U_5632,U_5628) != hAPP(U_5630,U_5632,U_5624,U_5614) ),
    inference(clausify,[status(thm)],[f_1018_5]) ).

fof(f_1019_1,plain,
    ! [Ea,Ts,Esa,S,Es_a,S_3,Pa] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,Pa),Ea),S))
      | ~ 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_1,Pa),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S)),Ea),Esa),Ts))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),S_3))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_871_reds__preserves__sconf]) ).

fof(f_1019_2,plain,
    ! [U_5639,U_5638,U_5637,U_5636,U_5635,U_5634,U_5633] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_5633),U_5639),U_5634))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_5633),U_5639),U_5636))
      | ~ 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_1,U_5633),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_5636)),U_5639),U_5637),U_5638))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5637),U_5636)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5635),U_5634))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5633))) ),
    inference(variable_rename,[status(thm)],[f_1019_1]) ).

cnf(f_1019_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_5633),U_5639),U_5634))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(list(char),option(ty)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),typeSa1166768941_sconf,U_5633),U_5639),U_5636))
    | ~ 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_1,U_5633),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_5636)),U_5639),U_5637),U_5638))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5637),U_5636)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5635),U_5634))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5633))) ),
    inference(clausify,[status(thm)],[f_1019_2]) ).

fof(f_1020_1,plain,
    ! [Esa,Ts,Pa,Hb,Ea,Eb,Ta] :
      ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Ta),Ts)))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts))
      | ~ 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_1,Pa),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_872_WTrtCons]) ).

fof(f_1020_2,plain,
    ! [U_5646,U_5645,U_5644,U_5643,U_5642,U_5641,U_5640] :
      ( 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_1,U_5644),U_5643),U_5642),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5641),U_5646)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_5640),U_5645)))
      | ~ 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_1,U_5644),U_5643),U_5642),U_5646),U_5645))
      | ~ 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_1,U_5644),U_5643),U_5642),U_5641),U_5640)) ),
    inference(variable_rename,[status(thm)],[f_1020_1]) ).

cnf(f_1020_3,plain,
    ( 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_1,U_5644),U_5643),U_5642),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5641),U_5646)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_5640),U_5645)))
    | ~ 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_1,U_5644),U_5643),U_5642),U_5646),U_5645))
    | ~ 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_1,U_5644),U_5643),U_5642),U_5641),U_5640)) ),
    inference(clausify,[status(thm)],[f_1020_2]) ).

fof(f_1021_1,plain,
    ! [H_b,Pa,Hb,Ea,Esa,Ts] :
      ( 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_1,Pa),H_b),Ea),Esa),Ts))
      | ~ 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,Hb),H_b))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_873_WTrts__hext__mono]) ).

fof(f_1021_2,plain,
    ! [U_5652,U_5651,U_5650,U_5649,U_5648,U_5647] :
      ( 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_1,U_5651),U_5652),U_5649),U_5648),U_5647))
      | ~ 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,U_5650),U_5652))
      | ~ 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_1,U_5651),U_5650),U_5649),U_5648),U_5647)) ),
    inference(variable_rename,[status(thm)],[f_1021_1]) ).

cnf(f_1021_3,plain,
    ( 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_1,U_5651),U_5652),U_5649),U_5648),U_5647))
    | ~ 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,U_5650),U_5652))
    | ~ 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_1,U_5651),U_5650),U_5649),U_5648),U_5647)) ),
    inference(clausify,[status(thm)],[f_1021_2]) ).

fof(f_1022_1,plain,
    ! [M,Ta,Esa,Ts,Pa,Hb,Ea,Eb] :
      ( 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_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta))
      | ~ hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts_1,Pa),Hb),Ea),Esa),Ts))
      | ~ 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_1,Pa),Hb),Ea),Eb),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_874_WTrtCallNT]) ).

fof(f_1022_2,plain,
    ! [U_5660,U_5659,U_5658,U_5657,U_5656,U_5655,U_5654,U_5653] :
      ( 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_1,U_5656),U_5655),U_5654),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5653),U_5660),U_5658)),U_5659))
      | ~ 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_1,U_5656),U_5655),U_5654),U_5658),U_5657))
      | ~ 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_1,U_5656),U_5655),U_5654),U_5653),nt)) ),
    inference(variable_rename,[status(thm)],[f_1022_1]) ).

cnf(f_1022_3,plain,
    ( 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_1,U_5656),U_5655),U_5654),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_5653),U_5660),U_5658)),U_5659))
    | ~ 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_1,U_5656),U_5655),U_5654),U_5658),U_5657))
    | ~ 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_1,U_5656),U_5655),U_5654),U_5653),nt)) ),
    inference(clausify,[status(thm)],[f_1022_2]) ).

fof(f_1023_1,plain,
    ! [Pa,Hb,Ea,Vs_1,Ts] :
      ( ( 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_1,Pa),Hb),Ea),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),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,Hb)),Vs_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) )
      & ( 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,Hb)),Vs_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)
        | ~ 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_1,Pa),Hb),Ea),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),Ts)) ) ),
    inference(fof_nnf,[status(thm)],[fact_875_WTrts__Val]) ).

fof(f_1023_2,plain,
    ! [U_5665,U_5664,U_5663,U_5662,U_5661] :
      ( ( 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_1,U_5665),U_5664),U_5663),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))),U_5662)),U_5661))
        | 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,U_5664)),U_5662) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5661) )
      & ( 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,U_5664)),U_5662) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5661)
        | ~ 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_1,U_5665),U_5664),U_5663),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))),U_5662)),U_5661)) ) ),
    inference(variable_rename,[status(thm)],[f_1023_1]) ).

fof(f_1023_3,plain,
    ( ! [U_5675,U_5673,U_5671,U_5669,U_5667] :
        ( 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_1,U_5675),U_5673),U_5671),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))),U_5669)),U_5667))
        | 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,U_5673)),U_5669) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5667) )
    & ! [U_5674,U_5672,U_5670,U_5668,U_5666] :
        ( 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,U_5672)),U_5668) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5666)
        | ~ 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_1,U_5674),U_5672),U_5670),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))),U_5668)),U_5666)) ) ),
    inference(miniscope,[status(thm)],[f_1023_2]) ).

cnf(f_1023_4,plain,
    ( 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,U_5672)),U_5668) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5666)
    | ~ 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_1,U_5674),U_5672),U_5670),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))),U_5668)),U_5666)) ),
    inference(clausify,[status(thm)],[f_1023_3]) ).

cnf(f_1023_5,plain,
    ( 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_1,U_5675),U_5673),U_5671),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))),U_5669)),U_5667))
    | 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,U_5673)),U_5669) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_5667) ),
    inference(clausify,[status(thm)],[f_1023_3]) ).

fof(f_1024_1,plain,
    ! [Ea,Ts,Esa,Hb,Lb,Es_a,H_b,L_b,Pa] :
      ( 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_b))
      | ~ 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),Hb))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_876_reds__preserves__hconf]) ).

fof(f_1024_2,plain,
    ! [U_5684,U_5683,U_5682,U_5681,U_5680,U_5679,U_5678,U_5677,U_5676] :
      ( 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)))),U_5676),U_5678))
      | ~ 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)))),U_5676),U_5681))
      | ~ 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_1,U_5676),U_5681),U_5684),U_5682),U_5683))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5682),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))),U_5681),U_5680))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5679),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))),U_5678),U_5677)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5676))) ),
    inference(variable_rename,[status(thm)],[f_1024_1]) ).

cnf(f_1024_3,plain,
    ( 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)))),U_5676),U_5678))
    | ~ 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)))),U_5676),U_5681))
    | ~ 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_1,U_5676),U_5681),U_5684),U_5682),U_5683))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5682),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))),U_5681),U_5680))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5679),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))),U_5678),U_5677)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5676))) ),
    inference(clausify,[status(thm)],[f_1024_2]) ).

fof(f_1025_1,plain,
    ! [Ea,Ts,Esa,Hb,Lb,Es_a,H_b,L_b,Pa] :
      ( 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_b),L_b),Ea))
      | ~ 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),Hb),Lb),Ea))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Es_a),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_b),L_b)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_877_reds__preserves__lconf]) ).

fof(f_1025_2,plain,
    ! [U_5693,U_5692,U_5691,U_5690,U_5689,U_5688,U_5687,U_5686,U_5685] :
      ( 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)))),U_5685),U_5687),U_5686),U_5693))
      | ~ 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)))),U_5685),U_5690),U_5689),U_5693))
      | ~ 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_1,U_5685),U_5690),U_5693),U_5691),U_5692))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5691),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))),U_5690),U_5689))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5688),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))),U_5687),U_5686)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5685))) ),
    inference(variable_rename,[status(thm)],[f_1025_1]) ).

cnf(f_1025_3,plain,
    ( 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)))),U_5685),U_5687),U_5686),U_5693))
    | ~ 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)))),U_5685),U_5690),U_5689),U_5693))
    | ~ 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_1,U_5685),U_5690),U_5693),U_5691),U_5692))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5691),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))),U_5690),U_5689))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5688),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))),U_5687),U_5686)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5685))) ),
    inference(clausify,[status(thm)],[f_1025_2]) ).

fof(f_1026_1,plain,
    ! [Pa,X_2,Xa,Xb,Xc] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),X_2),Xa),Xb),Xc))
        | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))) )
      & ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),X_2),Xa)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Xb),Xc))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa)))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),X_2),Xa),Xb),Xc)) ) ),
    inference(fof_nnf,[status(thm)],[fact_878_redsp__reds__eq]) ).

fof(f_1026_2,plain,
    ! [U_5698,U_5697,U_5696,U_5695,U_5694] :
      ( ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5698),U_5697),U_5696),U_5695),U_5694))
        | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5697),U_5696)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5695),U_5694))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5698))) )
      & ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5697),U_5696)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5695),U_5694))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5698)))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5698),U_5697),U_5696),U_5695),U_5694)) ) ),
    inference(variable_rename,[status(thm)],[f_1026_1]) ).

fof(f_1026_3,plain,
    ( ! [U_5708,U_5706,U_5704,U_5702,U_5700] :
        ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5708),U_5706),U_5704),U_5702),U_5700))
        | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5706),U_5704)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5702),U_5700))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5708))) )
    & ! [U_5707,U_5705,U_5703,U_5701,U_5699] :
        ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5705),U_5703)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5701),U_5699))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5707)))
        | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5707),U_5705),U_5703),U_5701),U_5699)) ) ),
    inference(miniscope,[status(thm)],[f_1026_2]) ).

cnf(f_1026_4,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5705),U_5703)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5701),U_5699))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5707)))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5707),U_5705),U_5703),U_5701),U_5699)) ),
    inference(clausify,[status(thm)],[f_1026_3]) ).

cnf(f_1026_5,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5708),U_5706),U_5704),U_5702),U_5700))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5706),U_5704)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_5702),U_5700))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_5708))) ),
    inference(clausify,[status(thm)],[f_1026_3]) ).

fof(f_1027_1,plain,
    ! [V_2,Vs_4,T_3,Ts_4,V_1,Vs_3,E] : hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),V_2),Vs_4)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),T_3),Ts_4)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),V_1),Vs_3)),E)))) = hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),V_2),T_3),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),V_2),hAPP(val,exp(list(char)),val_1(list(char)),V_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_4),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_4),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_3),E)))))),
    inference(fof_nnf,[status(thm)],[fact_879_blocks_Osimps_I1_J]) ).

fof(f_1027_2,plain,
    ! [U_5715,U_5714,U_5713,U_5712,U_5711,U_5710,U_5709] : hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),U_5715),U_5714)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_5713),U_5712)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_5711),U_5710)),U_5709)))) = hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_5715),U_5713),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_5715),hAPP(val,exp(list(char)),val_1(list(char)),U_5711))),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))))),U_5714),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)))),U_5712),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))),U_5710),U_5709)))))),
    inference(variable_rename,[status(thm)],[f_1027_1]) ).

cnf(f_1027_3,plain,
    hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),U_5715),U_5714)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_5713),U_5712)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_5711),U_5710)),U_5709)))) = hAPP(exp(list(char)),exp(list(char)),hAPP(ty,fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(ty,fun(exp(list(char)),exp(list(char)))),block(list(char)),U_5715),U_5713),hAPP(exp(list(char)),exp(list(char)),hAPP(exp(list(char)),fun(exp(list(char)),exp(list(char))),seq(list(char)),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),lAss(list(char)),U_5715),hAPP(val,exp(list(char)),val_1(list(char)),U_5711))),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))))),U_5714),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)))),U_5712),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))),U_5710),U_5709)))))),
    inference(clausify,[status(thm)],[f_1027_2]) ).

fof(f_1028_1,plain,
    ! [Va,Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Esa)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),Va)),Es_a)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Esa),S),Es_a),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_880_redp__redsp_OListRed2]) ).

fof(f_1028_2,plain,
    ! [U_5721,U_5720,U_5719,U_5718,U_5717,U_5716] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5720),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5721)),U_5719)),U_5718),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5721)),U_5717)),U_5716))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5720),U_5719),U_5718),U_5717),U_5716)) ),
    inference(variable_rename,[status(thm)],[f_1028_1]) ).

cnf(f_1028_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5720),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5721)),U_5719)),U_5718),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),hAPP(val,exp(list(char)),val_1(list(char)),U_5721)),U_5717)),U_5716))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5720),U_5719),U_5718),U_5717),U_5716)) ),
    inference(clausify,[status(thm)],[f_1028_2]) ).

fof(f_1029_1,plain,
    ! [Esa,Pa,Eb,S,E_b,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),S),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),E_b),Esa)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),Eb),S),E_b),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_881_redp__redsp_OListRed1]) ).

fof(f_1029_2,plain,
    ! [U_5727,U_5726,U_5725,U_5724,U_5723,U_5722] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5726),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5725),U_5727)),U_5724),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5723),U_5727)),U_5722))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5726),U_5725),U_5724),U_5723),U_5722)) ),
    inference(variable_rename,[status(thm)],[f_1029_1]) ).

cnf(f_1029_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5726),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5725),U_5727)),U_5724),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_5723),U_5727)),U_5722))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5726),U_5725),U_5724),U_5723),U_5722)) ),
    inference(clausify,[status(thm)],[f_1029_2]) ).

fof(f_1030_1,plain,
    ! [Va,M,Pa,Esa,S,Es_a,S_3] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Esa)),S),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),Va)),M),Es_a)),S_3))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,Pa),Esa),S),Es_a),S_3)) ),
    inference(fof_nnf,[status(thm)],[fact_882_redp__redsp_OCallParams]) ).

fof(f_1030_2,plain,
    ! [U_5734,U_5733,U_5732,U_5731,U_5730,U_5729,U_5728] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5732),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5734)),U_5733),U_5731)),U_5730),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5734)),U_5733),U_5729)),U_5728))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5732),U_5731),U_5730),U_5729),U_5728)) ),
    inference(variable_rename,[status(thm)],[f_1030_1]) ).

cnf(f_1030_3,plain,
    ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_5732),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5734)),U_5733),U_5731)),U_5730),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),U_5734)),U_5733),U_5729)),U_5728))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redsp,U_5732),U_5731),U_5730),U_5729),U_5728)) ),
    inference(clausify,[status(thm)],[f_1030_2]) ).

fof(f_1031_1,plain,
    ! [X_a,Pa,Hb,Va,C_1] :
      ( ? [A_3,Obj,T_5] :
          ( 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_5),hAPP(list(char),ty,class,C_1)))
          & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,Obj) = T_5
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Hb,A_3) = hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),some(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),Obj)
          & Va = hAPP(nat,val,addr,A_3) )
      | Va = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb),Va),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_883_conf__ClassD]) ).

fof(f_1031_2,plain,
    ! [U_5742,U_5741,U_5740,U_5739,U_5738] :
      ( ? [U_5737,U_5736,U_5735] :
          ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),U_5735),hAPP(list(char),ty,class,U_5738)))
          & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,U_5736) = U_5735
          & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,U_5737) = 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)))),U_5736)
          & U_5739 = hAPP(nat,val,addr,U_5737) )
      | U_5739 = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(variable_rename,[status(thm)],[f_1031_1]) ).

fof(f_1031_3,plain,
    ! [U_5742,U_5741,U_5740,U_5739,U_5738] :
      ( ? [U_5737] :
          ( ? [U_5736] :
              ( ? [U_5735] :
                  ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),U_5735),hAPP(list(char),ty,class,U_5738)))
                  & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,U_5736) = U_5735 )
              & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,U_5737) = 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)))),U_5736) )
          & U_5739 = hAPP(nat,val,addr,U_5737) )
      | U_5739 = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(miniscope,[status(thm)],[f_1031_2]) ).

fof(f_1031_4,plain,
    ! [U_5742,U_5741,U_5740,U_5739,U_5738] :
      ( ( ? [U_5736] :
            ( ? [U_5735] :
                ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),U_5735),hAPP(list(char),ty,class,U_5738)))
                & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,U_5736) = U_5735 )
            & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) = 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)))),U_5736) )
        & U_5739 = hAPP(nat,val,addr,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) )
      | U_5739 = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK216]),skolemize(U_5737,sK216(U_5742,U_5741,U_5740,U_5739,U_5738))],[f_1031_3]) ).

fof(f_1031_5,plain,
    ! [U_5742,U_5741,U_5740,U_5739,U_5738] :
      ( ( ? [U_5735] :
            ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),U_5735),hAPP(list(char),ty,class,U_5738)))
            & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,sK217(U_5742,U_5741,U_5740,U_5739,U_5738)) = U_5735 )
        & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) = 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)))),sK217(U_5742,U_5741,U_5740,U_5739,U_5738))
        & U_5739 = hAPP(nat,val,addr,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) )
      | U_5739 = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK217]),skolemize(U_5736,sK217(U_5742,U_5741,U_5740,U_5739,U_5738))],[f_1031_4]) ).

fof(f_1031_6,plain,
    ! [U_5742,U_5741,U_5740,U_5739,U_5738] :
      ( ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),sK218(U_5742,U_5741,U_5740,U_5739,U_5738)),hAPP(list(char),ty,class,U_5738)))
        & hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,sK217(U_5742,U_5741,U_5740,U_5739,U_5738)) = sK218(U_5742,U_5741,U_5740,U_5739,U_5738)
        & hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) = 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)))),sK217(U_5742,U_5741,U_5740,U_5739,U_5738))
        & U_5739 = hAPP(nat,val,addr,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) )
      | U_5739 = null
      | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK218]),skolemize(U_5735,sK218(U_5742,U_5741,U_5740,U_5739,U_5738))],[f_1031_5]) ).

cnf(f_1031_7,plain,
    ( U_5739 = hAPP(nat,val,addr,sK216(U_5742,U_5741,U_5740,U_5739,U_5738))
    | U_5739 = null
    | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(clausify,[status(thm)],[f_1031_6]) ).

cnf(f_1031_8,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_5740,sK216(U_5742,U_5741,U_5740,U_5739,U_5738)) = 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)))),sK217(U_5742,U_5741,U_5740,U_5739,U_5738))
    | U_5739 = null
    | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(clausify,[status(thm)],[f_1031_6]) ).

cnf(f_1031_9,plain,
    ( hAPP(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))),ty,obj_ty,sK217(U_5742,U_5741,U_5740,U_5739,U_5738)) = sK218(U_5742,U_5741,U_5740,U_5739,U_5738)
    | U_5739 = null
    | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(clausify,[status(thm)],[f_1031_6]) ).

cnf(f_1031_10,plain,
    ( 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,U_5742)))))))),fun(ty,fun(ty,bool)),widen(U_5742),U_5741),sK218(U_5742,U_5741,U_5740,U_5739,U_5738)),hAPP(list(char),ty,class,U_5738)))
    | U_5739 = null
    | ~ hBOOL(hAPP(ty,bool,hAPP(val,fun(ty,bool),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5742)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_5742),U_5741),U_5740),U_5739),hAPP(list(char),ty,class,U_5738))) ),
    inference(clausify,[status(thm)],[f_1031_6]) ).

fof(f_1032_1,plain,
    ! [X_a,P,C_4,F_2,T_3,D_4] :
      ( hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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(list(char),fun(list(char),product_prod(list(char),ty))),field(X_a),P),C_4),F_2) = hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),D_4),T_3)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),P),C_4),F_2),T_3),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_884_field__def2]) ).

fof(f_1032_2,plain,
    ! [U_5748,U_5747,U_5746,U_5745,U_5744,U_5743] :
      ( hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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,U_5748)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty))),field(U_5748),U_5747),U_5746),U_5745) = hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),U_5743),U_5744)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5748)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5748),U_5747),U_5746),U_5745),U_5744),U_5743)) ),
    inference(variable_rename,[status(thm)],[f_1032_1]) ).

cnf(f_1032_3,plain,
    ( hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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,U_5748)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty))),field(U_5748),U_5747),U_5746),U_5745) = hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),U_5743),U_5744)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(ty,fun(list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5748)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5748),U_5747),U_5746),U_5745),U_5744),U_5743)) ),
    inference(clausify,[status(thm)],[f_1032_2]) ).

fof(f_1033_1,plain,
    ! [X_a,Pa,C_1,F_1] : hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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(list(char),fun(list(char),product_prod(list(char),ty))),field(X_a),Pa),C_1),F_1) = hAPP(fun(product_prod(list(char),ty),bool),product_prod(list(char),ty),the_1(product_prod(list(char),ty)),hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,fun(list(char),bool)),fun(list(char),fun(ty,bool)),combc(ty,list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(X_a),Pa),C_1),F_1)))),
    inference(fof_nnf,[status(thm)],[fact_885_field__def]) ).

fof(f_1033_2,plain,
    ! [U_5752,U_5751,U_5750,U_5749] : hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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,U_5752)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty))),field(U_5752),U_5751),U_5750),U_5749) = hAPP(fun(product_prod(list(char),ty),bool),product_prod(list(char),ty),the_1(product_prod(list(char),ty)),hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,fun(list(char),bool)),fun(list(char),fun(ty,bool)),combc(ty,list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5752)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5752),U_5751),U_5750),U_5749)))),
    inference(variable_rename,[status(thm)],[f_1033_1]) ).

cnf(f_1033_3,plain,
    hAPP(list(char),product_prod(list(char),ty),hAPP(list(char),fun(list(char),product_prod(list(char),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,U_5752)))))))),fun(list(char),fun(list(char),product_prod(list(char),ty))),field(U_5752),U_5751),U_5750),U_5749) = hAPP(fun(product_prod(list(char),ty),bool),product_prod(list(char),ty),the_1(product_prod(list(char),ty)),hAPP(fun(list(char),fun(ty,bool)),fun(product_prod(list(char),ty),bool),product_prod_case(list(char),ty,bool),hAPP(fun(ty,fun(list(char),bool)),fun(list(char),fun(ty,bool)),combc(ty,list(char),bool),hAPP(list(char),fun(ty,fun(list(char),bool)),hAPP(list(char),fun(list(char),fun(ty,fun(list(char),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5752)))))))),fun(list(char),fun(list(char),fun(ty,fun(list(char),bool)))),sees_field(U_5752),U_5751),U_5750),U_5749)))),
    inference(clausify,[status(thm)],[f_1033_2]) ).

fof(f_1034_1,plain,
    ! [X_a,F_1,Ta,D_3,Fs,Ms,D_2,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),ty),bool),bool,hAPP(product_prod(list(char),ty),fun(fun(product_prod(list(char),ty),bool),bool),member(product_prod(list(char),ty)),hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),F_1),Ta)),hAPP(list(product_prod(list(char),ty)),fun(product_prod(list(char),ty),bool),set(product_prod(list(char),ty)),Fs)))
      | hAPP(list(char),option(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))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),option(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)))))))),class_1(X_a),Pa),D_2) != hAPP(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)))))),option(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))))))),some(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))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),D_3),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs)) ),
    inference(fof_nnf,[status(thm)],[fact_886_all__fields__in__has__fields]) ).

fof(f_1034_2,plain,
    ! [U_5762,U_5761,U_5760,U_5759,U_5758,U_5757,U_5756,U_5755,U_5754,U_5753] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5761),U_5756)),U_5760)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5753)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),ty),bool),bool,hAPP(product_prod(list(char),ty),fun(fun(product_prod(list(char),ty),bool),bool),member(product_prod(list(char),ty)),hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),U_5761),U_5760)),hAPP(list(product_prod(list(char),ty)),fun(product_prod(list(char),ty),bool),set(product_prod(list(char),ty)),U_5758)))
      | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),class_1(U_5762),U_5755),U_5756) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),U_5759),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),U_5758),U_5757)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5754),U_5756)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5762),U_5755))))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5762)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5762),U_5755),U_5754),U_5753)) ),
    inference(variable_rename,[status(thm)],[f_1034_1]) ).

cnf(f_1034_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5761),U_5756)),U_5760)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5753)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),ty),bool),bool,hAPP(product_prod(list(char),ty),fun(fun(product_prod(list(char),ty),bool),bool),member(product_prod(list(char),ty)),hAPP(ty,product_prod(list(char),ty),hAPP(list(char),fun(ty,product_prod(list(char),ty)),product_Pair(list(char),ty),U_5761),U_5760)),hAPP(list(product_prod(list(char),ty)),fun(product_prod(list(char),ty),bool),set(product_prod(list(char),ty)),U_5758)))
    | hAPP(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),fun(list(char),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),class_1(U_5762),U_5755),U_5756) != hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),option(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),some(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),U_5759),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762))))),U_5758),U_5757)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5754),U_5756)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5762)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5762),U_5755))))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5762)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5762),U_5755),U_5754),U_5753)) ),
    inference(clausify,[status(thm)],[f_1034_2]) ).

fof(f_1035_1,plain,
    ! [X_a,Xs,Ys] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),semilattice_sup_sup(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)),
    inference(fof_nnf,[status(thm)],[fact_887_set__append]) ).

fof(f_1035_2,plain,
    ! [U_5765,U_5764,U_5763] : hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),hAPP(list(U_5765),list(U_5765),hAPP(list(U_5765),fun(list(U_5765),list(U_5765)),append(U_5765),U_5764),U_5763)) = hAPP(fun(U_5765,bool),fun(U_5765,bool),hAPP(fun(U_5765,bool),fun(fun(U_5765,bool),fun(U_5765,bool)),semilattice_sup_sup(fun(U_5765,bool)),hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),U_5764)),hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),U_5763)),
    inference(variable_rename,[status(thm)],[f_1035_1]) ).

cnf(f_1035_3,plain,
    hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),hAPP(list(U_5765),list(U_5765),hAPP(list(U_5765),fun(list(U_5765),list(U_5765)),append(U_5765),U_5764),U_5763)) = hAPP(fun(U_5765,bool),fun(U_5765,bool),hAPP(fun(U_5765,bool),fun(fun(U_5765,bool),fun(U_5765,bool)),semilattice_sup_sup(fun(U_5765,bool)),hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),U_5764)),hAPP(list(U_5765),fun(U_5765,bool),set(U_5765),U_5763)),
    inference(clausify,[status(thm)],[f_1035_2]) ).

fof(f_1036_1,plain,
    ! [X_a,Y_1,X_1,Xs] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
      | ti(X_a,Y_1) = ti(X_a,X_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))) ),
    inference(fof_nnf,[status(thm)],[fact_888_set__ConsD]) ).

fof(f_1036_2,plain,
    ! [U_5769,U_5768,U_5767,U_5766] :
      ( hBOOL(hAPP(fun(U_5769,bool),bool,hAPP(U_5769,fun(fun(U_5769,bool),bool),member(U_5769),U_5768),hAPP(list(U_5769),fun(U_5769,bool),set(U_5769),U_5766)))
      | ti(U_5769,U_5768) = ti(U_5769,U_5767)
      | ~ hBOOL(hAPP(fun(U_5769,bool),bool,hAPP(U_5769,fun(fun(U_5769,bool),bool),member(U_5769),U_5768),hAPP(list(U_5769),fun(U_5769,bool),set(U_5769),hAPP(list(U_5769),list(U_5769),hAPP(U_5769,fun(list(U_5769),list(U_5769)),cons(U_5769),U_5767),U_5766)))) ),
    inference(variable_rename,[status(thm)],[f_1036_1]) ).

cnf(f_1036_3,plain,
    ( hBOOL(hAPP(fun(U_5769,bool),bool,hAPP(U_5769,fun(fun(U_5769,bool),bool),member(U_5769),U_5768),hAPP(list(U_5769),fun(U_5769,bool),set(U_5769),U_5766)))
    | ti(U_5769,U_5768) = ti(U_5769,U_5767)
    | ~ hBOOL(hAPP(fun(U_5769,bool),bool,hAPP(U_5769,fun(fun(U_5769,bool),bool),member(U_5769),U_5768),hAPP(list(U_5769),fun(U_5769,bool),set(U_5769),hAPP(list(U_5769),list(U_5769),hAPP(U_5769,fun(list(U_5769),list(U_5769)),cons(U_5769),U_5767),U_5766)))) ),
    inference(clausify,[status(thm)],[f_1036_2]) ).

fof(f_1037_1,plain,
    ! [X_a,Xs,X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))),
    inference(fof_nnf,[status(thm)],[fact_889_set__subset__Cons]) ).

fof(f_1037_2,plain,
    ! [U_5772,U_5771,U_5770] : hBOOL(hAPP(fun(U_5772,bool),bool,hAPP(fun(U_5772,bool),fun(fun(U_5772,bool),bool),ord_less_eq(fun(U_5772,bool)),hAPP(list(U_5772),fun(U_5772,bool),set(U_5772),U_5771)),hAPP(list(U_5772),fun(U_5772,bool),set(U_5772),hAPP(list(U_5772),list(U_5772),hAPP(U_5772,fun(list(U_5772),list(U_5772)),cons(U_5772),U_5770),U_5771)))),
    inference(variable_rename,[status(thm)],[f_1037_1]) ).

cnf(f_1037_3,plain,
    hBOOL(hAPP(fun(U_5772,bool),bool,hAPP(fun(U_5772,bool),fun(fun(U_5772,bool),bool),ord_less_eq(fun(U_5772,bool)),hAPP(list(U_5772),fun(U_5772,bool),set(U_5772),U_5771)),hAPP(list(U_5772),fun(U_5772,bool),set(U_5772),hAPP(list(U_5772),list(U_5772),hAPP(U_5772,fun(list(U_5772),list(U_5772)),cons(U_5772),U_5770),U_5771)))),
    inference(clausify,[status(thm)],[f_1037_2]) ).

fof(f_1038_1,plain,
    ! [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)
        | ? [X_2] :
            ( hAPP(X_b,X_a,F,X_2) != hAPP(X_b,X_a,G,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))) ) )
      & ( ! [X_2] :
            ( hAPP(X_b,X_a,F,X_2) = hAPP(X_b,X_a,G,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(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) ) ),
    inference(fof_nnf,[status(thm)],[fact_890_map__eq__conv]) ).

fof(f_1038_2,plain,
    ! [U_5779,U_5778,U_5777,U_5776,U_5775] :
      ( ( hAPP(list(U_5779),list(U_5778),hAPP(fun(U_5779,U_5778),fun(list(U_5779),list(U_5778)),map(U_5779,U_5778),U_5777),U_5776) = hAPP(list(U_5779),list(U_5778),hAPP(fun(U_5779,U_5778),fun(list(U_5779),list(U_5778)),map(U_5779,U_5778),U_5775),U_5776)
        | ? [U_5774] :
            ( hAPP(U_5779,U_5778,U_5777,U_5774) != hAPP(U_5779,U_5778,U_5775,U_5774)
            & hBOOL(hAPP(fun(U_5779,bool),bool,hAPP(U_5779,fun(fun(U_5779,bool),bool),member(U_5779),U_5774),hAPP(list(U_5779),fun(U_5779,bool),set(U_5779),U_5776))) ) )
      & ( ! [U_5773] :
            ( hAPP(U_5779,U_5778,U_5777,U_5773) = hAPP(U_5779,U_5778,U_5775,U_5773)
            | ~ hBOOL(hAPP(fun(U_5779,bool),bool,hAPP(U_5779,fun(fun(U_5779,bool),bool),member(U_5779),U_5773),hAPP(list(U_5779),fun(U_5779,bool),set(U_5779),U_5776))) )
        | hAPP(list(U_5779),list(U_5778),hAPP(fun(U_5779,U_5778),fun(list(U_5779),list(U_5778)),map(U_5779,U_5778),U_5777),U_5776) != hAPP(list(U_5779),list(U_5778),hAPP(fun(U_5779,U_5778),fun(list(U_5779),list(U_5778)),map(U_5779,U_5778),U_5775),U_5776) ) ),
    inference(variable_rename,[status(thm)],[f_1038_1]) ).

fof(f_1038_3,plain,
    ( ! [U_5789,U_5787,U_5785,U_5783,U_5781] :
        ( hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5785),U_5783) = hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5781),U_5783)
        | ? [U_5774] :
            ( hAPP(U_5789,U_5787,U_5785,U_5774) != hAPP(U_5789,U_5787,U_5781,U_5774)
            & hBOOL(hAPP(fun(U_5789,bool),bool,hAPP(U_5789,fun(fun(U_5789,bool),bool),member(U_5789),U_5774),hAPP(list(U_5789),fun(U_5789,bool),set(U_5789),U_5783))) ) )
    & ! [U_5788,U_5786,U_5784,U_5782,U_5780] :
        ( ! [U_5773] :
            ( hAPP(U_5788,U_5786,U_5784,U_5773) = hAPP(U_5788,U_5786,U_5780,U_5773)
            | ~ hBOOL(hAPP(fun(U_5788,bool),bool,hAPP(U_5788,fun(fun(U_5788,bool),bool),member(U_5788),U_5773),hAPP(list(U_5788),fun(U_5788,bool),set(U_5788),U_5782))) )
        | hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5784),U_5782) != hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5780),U_5782) ) ),
    inference(miniscope,[status(thm)],[f_1038_2]) ).

fof(f_1038_4,plain,
    ( ! [U_5789,U_5787,U_5785,U_5783,U_5781] :
        ( hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5785),U_5783) = hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5781),U_5783)
        | ( hAPP(U_5789,U_5787,U_5785,sK219(U_5789,U_5787,U_5785,U_5783,U_5781)) != hAPP(U_5789,U_5787,U_5781,sK219(U_5789,U_5787,U_5785,U_5783,U_5781))
          & hBOOL(hAPP(fun(U_5789,bool),bool,hAPP(U_5789,fun(fun(U_5789,bool),bool),member(U_5789),sK219(U_5789,U_5787,U_5785,U_5783,U_5781)),hAPP(list(U_5789),fun(U_5789,bool),set(U_5789),U_5783))) ) )
    & ! [U_5788,U_5786,U_5784,U_5782,U_5780] :
        ( ! [U_5773] :
            ( hAPP(U_5788,U_5786,U_5784,U_5773) = hAPP(U_5788,U_5786,U_5780,U_5773)
            | ~ hBOOL(hAPP(fun(U_5788,bool),bool,hAPP(U_5788,fun(fun(U_5788,bool),bool),member(U_5788),U_5773),hAPP(list(U_5788),fun(U_5788,bool),set(U_5788),U_5782))) )
        | hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5784),U_5782) != hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5780),U_5782) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK219]),skolemize(U_5774,sK219(U_5789,U_5787,U_5785,U_5783,U_5781))],[f_1038_3]) ).

cnf(f_1038_5,plain,
    ( hAPP(U_5788,U_5786,U_5784,U_5773) = hAPP(U_5788,U_5786,U_5780,U_5773)
    | ~ hBOOL(hAPP(fun(U_5788,bool),bool,hAPP(U_5788,fun(fun(U_5788,bool),bool),member(U_5788),U_5773),hAPP(list(U_5788),fun(U_5788,bool),set(U_5788),U_5782)))
    | hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5784),U_5782) != hAPP(list(U_5788),list(U_5786),hAPP(fun(U_5788,U_5786),fun(list(U_5788),list(U_5786)),map(U_5788,U_5786),U_5780),U_5782) ),
    inference(clausify,[status(thm)],[f_1038_4]) ).

cnf(f_1038_6,plain,
    ( hBOOL(hAPP(fun(U_5789,bool),bool,hAPP(U_5789,fun(fun(U_5789,bool),bool),member(U_5789),sK219(U_5789,U_5787,U_5785,U_5783,U_5781)),hAPP(list(U_5789),fun(U_5789,bool),set(U_5789),U_5783)))
    | hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5785),U_5783) = hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5781),U_5783) ),
    inference(clausify,[status(thm)],[f_1038_4]) ).

cnf(f_1038_7,plain,
    ( hAPP(U_5789,U_5787,U_5785,sK219(U_5789,U_5787,U_5785,U_5783,U_5781)) != hAPP(U_5789,U_5787,U_5781,sK219(U_5789,U_5787,U_5785,U_5783,U_5781))
    | hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5785),U_5783) = hAPP(list(U_5789),list(U_5787),hAPP(fun(U_5789,U_5787),fun(list(U_5789),list(U_5787)),map(U_5789,U_5787),U_5781),U_5783) ),
    inference(clausify,[status(thm)],[f_1038_4]) ).

fof(f_1039_1,plain,
    ! [X_b,X_a,F,Va,Y_1,Xs] :
      ( hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),F),Y_1),Va)),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)
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) ),
    inference(fof_nnf,[status(thm)],[fact_891_map__fun__upd]) ).

fof(f_1039_2,plain,
    ! [U_5795,U_5794,U_5793,U_5792,U_5791,U_5790] :
      ( hAPP(list(U_5794),list(U_5795),hAPP(fun(U_5794,U_5795),fun(list(U_5794),list(U_5795)),map(U_5794,U_5795),hAPP(U_5795,fun(U_5794,U_5795),hAPP(U_5794,fun(U_5795,fun(U_5794,U_5795)),hAPP(fun(U_5794,U_5795),fun(U_5794,fun(U_5795,fun(U_5794,U_5795))),fun_upd(U_5794,U_5795),U_5793),U_5791),U_5792)),U_5790) = hAPP(list(U_5794),list(U_5795),hAPP(fun(U_5794,U_5795),fun(list(U_5794),list(U_5795)),map(U_5794,U_5795),U_5793),U_5790)
      | hBOOL(hAPP(fun(U_5794,bool),bool,hAPP(U_5794,fun(fun(U_5794,bool),bool),member(U_5794),U_5791),hAPP(list(U_5794),fun(U_5794,bool),set(U_5794),U_5790))) ),
    inference(variable_rename,[status(thm)],[f_1039_1]) ).

cnf(f_1039_3,plain,
    ( hAPP(list(U_5794),list(U_5795),hAPP(fun(U_5794,U_5795),fun(list(U_5794),list(U_5795)),map(U_5794,U_5795),hAPP(U_5795,fun(U_5794,U_5795),hAPP(U_5794,fun(U_5795,fun(U_5794,U_5795)),hAPP(fun(U_5794,U_5795),fun(U_5794,fun(U_5795,fun(U_5794,U_5795))),fun_upd(U_5794,U_5795),U_5793),U_5791),U_5792)),U_5790) = hAPP(list(U_5794),list(U_5795),hAPP(fun(U_5794,U_5795),fun(list(U_5794),list(U_5795)),map(U_5794,U_5795),U_5793),U_5790)
    | hBOOL(hAPP(fun(U_5794,bool),bool,hAPP(U_5794,fun(fun(U_5794,bool),bool),member(U_5794),U_5791),hAPP(list(U_5794),fun(U_5794,bool),set(U_5794),U_5790))) ),
    inference(clausify,[status(thm)],[f_1039_2]) ).

fof(f_1040_1,plain,
    ! [X_a,X_b,X_1,Y_1] : hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(X_b,bool),fun(X_b,bool))),fun(fun(X_b,bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(X_b,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_b,bool),fun(X_b,bool))),hAPP(fun(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool))),fun(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_b,bool),fun(X_b,bool)))),combb(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),X_a),combb(bool,bool,X_b)),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1)))),hAPP(X_b,fun(X_b,bool),fequal(X_b),Y_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_1),Y_1),
    inference(fof_nnf,[status(thm)],[fact_892_The__split__eq]) ).

fof(f_1040_2,plain,
    ! [U_5799,U_5798,U_5797,U_5796] : hAPP(fun(product_prod(U_5799,U_5798),bool),product_prod(U_5799,U_5798),the_1(product_prod(U_5799,U_5798)),hAPP(fun(U_5799,fun(U_5798,bool)),fun(product_prod(U_5799,U_5798),bool),product_prod_case(U_5799,U_5798,bool),hAPP(fun(U_5798,bool),fun(U_5799,fun(U_5798,bool)),hAPP(fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool))),fun(fun(U_5798,bool),fun(U_5799,fun(U_5798,bool))),combc(U_5799,fun(U_5798,bool),fun(U_5798,bool)),hAPP(fun(U_5799,fun(bool,bool)),fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool))),hAPP(fun(fun(bool,bool),fun(fun(U_5798,bool),fun(U_5798,bool))),fun(fun(U_5799,fun(bool,bool)),fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool)))),combb(fun(bool,bool),fun(fun(U_5798,bool),fun(U_5798,bool)),U_5799),combb(bool,bool,U_5798)),hAPP(fun(U_5799,bool),fun(U_5799,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_5799,bool),fun(U_5799,fun(bool,bool))),combb(bool,fun(bool,bool),U_5799),fconj),hAPP(U_5799,fun(U_5799,bool),fequal(U_5799),U_5797)))),hAPP(U_5798,fun(U_5798,bool),fequal(U_5798),U_5796)))) = hAPP(U_5798,product_prod(U_5799,U_5798),hAPP(U_5799,fun(U_5798,product_prod(U_5799,U_5798)),product_Pair(U_5799,U_5798),U_5797),U_5796),
    inference(variable_rename,[status(thm)],[f_1040_1]) ).

cnf(f_1040_3,plain,
    hAPP(fun(product_prod(U_5799,U_5798),bool),product_prod(U_5799,U_5798),the_1(product_prod(U_5799,U_5798)),hAPP(fun(U_5799,fun(U_5798,bool)),fun(product_prod(U_5799,U_5798),bool),product_prod_case(U_5799,U_5798,bool),hAPP(fun(U_5798,bool),fun(U_5799,fun(U_5798,bool)),hAPP(fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool))),fun(fun(U_5798,bool),fun(U_5799,fun(U_5798,bool))),combc(U_5799,fun(U_5798,bool),fun(U_5798,bool)),hAPP(fun(U_5799,fun(bool,bool)),fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool))),hAPP(fun(fun(bool,bool),fun(fun(U_5798,bool),fun(U_5798,bool))),fun(fun(U_5799,fun(bool,bool)),fun(U_5799,fun(fun(U_5798,bool),fun(U_5798,bool)))),combb(fun(bool,bool),fun(fun(U_5798,bool),fun(U_5798,bool)),U_5799),combb(bool,bool,U_5798)),hAPP(fun(U_5799,bool),fun(U_5799,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(U_5799,bool),fun(U_5799,fun(bool,bool))),combb(bool,fun(bool,bool),U_5799),fconj),hAPP(U_5799,fun(U_5799,bool),fequal(U_5799),U_5797)))),hAPP(U_5798,fun(U_5798,bool),fequal(U_5798),U_5796)))) = hAPP(U_5798,product_prod(U_5799,U_5798),hAPP(U_5799,fun(U_5798,product_prod(U_5799,U_5798)),product_Pair(U_5799,U_5798),U_5797),U_5796),
    inference(clausify,[status(thm)],[f_1040_2]) ).

fof(f_1041_1,plain,
    ! [X_a,X_b,Pa] : hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),Pa) = hAPP(fun(product_prod(X_a,X_b),bool),product_prod(X_a,X_b),the_1(product_prod(X_a,X_b)),hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool)),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,bool))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool),X_a),hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,bool)),combb(product_prod(X_a,X_b),bool,X_b),Pa)),product_Pair(X_a,X_b)))),
    inference(fof_nnf,[status(thm)],[fact_893_split__paired__The]) ).

fof(f_1041_2,plain,
    ! [U_5802,U_5801,U_5800] : hAPP(fun(product_prod(U_5802,U_5801),bool),product_prod(U_5802,U_5801),the_1(product_prod(U_5802,U_5801)),U_5800) = hAPP(fun(product_prod(U_5802,U_5801),bool),product_prod(U_5802,U_5801),the_1(product_prod(U_5802,U_5801)),hAPP(fun(U_5802,fun(U_5801,bool)),fun(product_prod(U_5802,U_5801),bool),product_prod_case(U_5802,U_5801,bool),hAPP(fun(U_5802,fun(U_5801,product_prod(U_5802,U_5801))),fun(U_5802,fun(U_5801,bool)),hAPP(fun(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool)),fun(fun(U_5802,fun(U_5801,product_prod(U_5802,U_5801))),fun(U_5802,fun(U_5801,bool))),combb(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool),U_5802),hAPP(fun(product_prod(U_5802,U_5801),bool),fun(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool)),combb(product_prod(U_5802,U_5801),bool,U_5801),U_5800)),product_Pair(U_5802,U_5801)))),
    inference(variable_rename,[status(thm)],[f_1041_1]) ).

cnf(f_1041_3,plain,
    hAPP(fun(product_prod(U_5802,U_5801),bool),product_prod(U_5802,U_5801),the_1(product_prod(U_5802,U_5801)),U_5800) = hAPP(fun(product_prod(U_5802,U_5801),bool),product_prod(U_5802,U_5801),the_1(product_prod(U_5802,U_5801)),hAPP(fun(U_5802,fun(U_5801,bool)),fun(product_prod(U_5802,U_5801),bool),product_prod_case(U_5802,U_5801,bool),hAPP(fun(U_5802,fun(U_5801,product_prod(U_5802,U_5801))),fun(U_5802,fun(U_5801,bool)),hAPP(fun(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool)),fun(fun(U_5802,fun(U_5801,product_prod(U_5802,U_5801))),fun(U_5802,fun(U_5801,bool))),combb(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool),U_5802),hAPP(fun(product_prod(U_5802,U_5801),bool),fun(fun(U_5801,product_prod(U_5802,U_5801)),fun(U_5801,bool)),combb(product_prod(U_5802,U_5801),bool,U_5801),U_5800)),product_Pair(U_5802,U_5801)))),
    inference(clausify,[status(thm)],[f_1041_2]) ).

fof(f_1042_1,plain,
    ! [X_a,Wf_md,FD,Ta,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(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,bool),is_type(X_a),Pa),Ta))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),FD),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs)) ),
    inference(fof_nnf,[status(thm)],[fact_894_has__fields__types]) ).

fof(f_1042_2,plain,
    ! [U_5809,U_5808,U_5807,U_5806,U_5805,U_5804,U_5803] :
      ( hBOOL(hAPP(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,U_5809)))))))),fun(ty,bool),is_type(U_5809),U_5805),U_5806))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5809)))))))),bool,hAPP(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,U_5809)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5809))),bool))),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,U_5809)))))))),bool),wf_prog(U_5809),U_5808),U_5805))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),U_5807),U_5806)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5803)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5809)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5809),U_5805),U_5804),U_5803)) ),
    inference(variable_rename,[status(thm)],[f_1042_1]) ).

cnf(f_1042_3,plain,
    ( hBOOL(hAPP(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,U_5809)))))))),fun(ty,bool),is_type(U_5809),U_5805),U_5806))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5809)))))))),bool,hAPP(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,U_5809)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5809))),bool))),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,U_5809)))))))),bool),wf_prog(U_5809),U_5808),U_5805))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),U_5807),U_5806)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5803)))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5809)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5809),U_5805),U_5804),U_5803)) ),
    inference(clausify,[status(thm)],[f_1042_2]) ).

fof(f_1043_1,plain,
    ! [X_a,F_1,D_2,Ta,Pa,C_1,FDTs] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs)) ),
    inference(fof_nnf,[status(thm)],[fact_895_has__fields__decl__above]) ).

fof(f_1043_2,plain,
    ! [U_5816,U_5815,U_5814,U_5813,U_5812,U_5811,U_5810] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5811),U_5814)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5816)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5816),U_5812))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5815),U_5814)),U_5813)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5810)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5816)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5816),U_5812),U_5811),U_5810)) ),
    inference(variable_rename,[status(thm)],[f_1043_1]) ).

cnf(f_1043_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5811),U_5814)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5816)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5816),U_5812))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5815),U_5814)),U_5813)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_5810)))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_5816)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_5816),U_5812),U_5811),U_5810)) ),
    inference(clausify,[status(thm)],[f_1043_2]) ).

fof(f_1044_1,plain,
    ! [X_a,Pa,Xs] :
      ( ? [Ys_2,X_2] :
          ( hBOOL(hAPP(X_a,bool,Pa,X_2))
          & ? [Zs_1] : Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs_1)) )
      | ! [X_2] :
          ( ~ hBOOL(hAPP(X_a,bool,Pa,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))) ) ),
    inference(fof_nnf,[status(thm)],[fact_896_split__list__propE]) ).

fof(f_1044_2,plain,
    ! [U_5823,U_5822,U_5821] :
      ( ? [U_5820,U_5819] :
          ( hBOOL(hAPP(U_5823,bool,U_5822,U_5819))
          & ? [U_5818] : U_5821 = hAPP(list(U_5823),list(U_5823),hAPP(list(U_5823),fun(list(U_5823),list(U_5823)),append(U_5823),U_5820),hAPP(list(U_5823),list(U_5823),hAPP(U_5823,fun(list(U_5823),list(U_5823)),cons(U_5823),U_5819),U_5818)) )
      | ! [U_5817] :
          ( ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
          | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ) ),
    inference(variable_rename,[status(thm)],[f_1044_1]) ).

fof(f_1044_3,plain,
    ! [U_5823,U_5822,U_5821] :
      ( ? [U_5819] :
          ( hBOOL(hAPP(U_5823,bool,U_5822,U_5819))
          & ? [U_5818] : U_5821 = hAPP(list(U_5823),list(U_5823),hAPP(list(U_5823),fun(list(U_5823),list(U_5823)),append(U_5823),sK220(U_5823,U_5822,U_5821)),hAPP(list(U_5823),list(U_5823),hAPP(U_5823,fun(list(U_5823),list(U_5823)),cons(U_5823),U_5819),U_5818)) )
      | ! [U_5817] :
          ( ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
          | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK220]),skolemize(U_5820,sK220(U_5823,U_5822,U_5821))],[f_1044_2]) ).

fof(f_1044_4,plain,
    ! [U_5823,U_5822,U_5821] :
      ( ( hBOOL(hAPP(U_5823,bool,U_5822,sK221(U_5823,U_5822,U_5821)))
        & ? [U_5818] : U_5821 = hAPP(list(U_5823),list(U_5823),hAPP(list(U_5823),fun(list(U_5823),list(U_5823)),append(U_5823),sK220(U_5823,U_5822,U_5821)),hAPP(list(U_5823),list(U_5823),hAPP(U_5823,fun(list(U_5823),list(U_5823)),cons(U_5823),sK221(U_5823,U_5822,U_5821)),U_5818)) )
      | ! [U_5817] :
          ( ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
          | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK221]),skolemize(U_5819,sK221(U_5823,U_5822,U_5821))],[f_1044_3]) ).

fof(f_1044_5,plain,
    ! [U_5823,U_5822,U_5821] :
      ( ( hBOOL(hAPP(U_5823,bool,U_5822,sK221(U_5823,U_5822,U_5821)))
        & U_5821 = hAPP(list(U_5823),list(U_5823),hAPP(list(U_5823),fun(list(U_5823),list(U_5823)),append(U_5823),sK220(U_5823,U_5822,U_5821)),hAPP(list(U_5823),list(U_5823),hAPP(U_5823,fun(list(U_5823),list(U_5823)),cons(U_5823),sK221(U_5823,U_5822,U_5821)),sK222(U_5823,U_5822,U_5821))) )
      | ! [U_5817] :
          ( ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
          | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK222]),skolemize(U_5818,sK222(U_5823,U_5822,U_5821))],[f_1044_4]) ).

cnf(f_1044_6,plain,
    ( U_5821 = hAPP(list(U_5823),list(U_5823),hAPP(list(U_5823),fun(list(U_5823),list(U_5823)),append(U_5823),sK220(U_5823,U_5822,U_5821)),hAPP(list(U_5823),list(U_5823),hAPP(U_5823,fun(list(U_5823),list(U_5823)),cons(U_5823),sK221(U_5823,U_5822,U_5821)),sK222(U_5823,U_5822,U_5821)))
    | ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
    | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ),
    inference(clausify,[status(thm)],[f_1044_5]) ).

cnf(f_1044_7,plain,
    ( hBOOL(hAPP(U_5823,bool,U_5822,sK221(U_5823,U_5822,U_5821)))
    | ~ hBOOL(hAPP(U_5823,bool,U_5822,U_5817))
    | ~ hBOOL(hAPP(fun(U_5823,bool),bool,hAPP(U_5823,fun(fun(U_5823,bool),bool),member(U_5823),U_5817),hAPP(list(U_5823),fun(U_5823,bool),set(U_5823),U_5821))) ),
    inference(clausify,[status(thm)],[f_1044_5]) ).

fof(f_1045_1,plain,
    ! [X_a,X_1,Xs] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
        | ! [Ys_2,Zs_1] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
            | Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) ) )
      & ( ? [Ys_2,Zs_1] :
            ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
            & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) )
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_897_in__set__conv__decomp__first]) ).

fof(f_1045_2,plain,
    ! [U_5830,U_5829,U_5828] :
      ( ( hBOOL(hAPP(fun(U_5830,bool),bool,hAPP(U_5830,fun(fun(U_5830,bool),bool),member(U_5830),U_5829),hAPP(list(U_5830),fun(U_5830,bool),set(U_5830),U_5828)))
        | ! [U_5827,U_5826] :
            ( hBOOL(hAPP(fun(U_5830,bool),bool,hAPP(U_5830,fun(fun(U_5830,bool),bool),member(U_5830),U_5829),hAPP(list(U_5830),fun(U_5830,bool),set(U_5830),U_5827)))
            | U_5828 != hAPP(list(U_5830),list(U_5830),hAPP(list(U_5830),fun(list(U_5830),list(U_5830)),append(U_5830),U_5827),hAPP(list(U_5830),list(U_5830),hAPP(U_5830,fun(list(U_5830),list(U_5830)),cons(U_5830),U_5829),U_5826)) ) )
      & ( ? [U_5825,U_5824] :
            ( ~ hBOOL(hAPP(fun(U_5830,bool),bool,hAPP(U_5830,fun(fun(U_5830,bool),bool),member(U_5830),U_5829),hAPP(list(U_5830),fun(U_5830,bool),set(U_5830),U_5825)))
            & U_5828 = hAPP(list(U_5830),list(U_5830),hAPP(list(U_5830),fun(list(U_5830),list(U_5830)),append(U_5830),U_5825),hAPP(list(U_5830),list(U_5830),hAPP(U_5830,fun(list(U_5830),list(U_5830)),cons(U_5830),U_5829),U_5824)) )
        | ~ hBOOL(hAPP(fun(U_5830,bool),bool,hAPP(U_5830,fun(fun(U_5830,bool),bool),member(U_5830),U_5829),hAPP(list(U_5830),fun(U_5830,bool),set(U_5830),U_5828))) ) ),
    inference(variable_rename,[status(thm)],[f_1045_1]) ).

fof(f_1045_3,plain,
    ( ! [U_5836,U_5834,U_5832] :
        ( hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5832)))
        | ! [U_5827] :
            ( ! [U_5826] : U_5832 != hAPP(list(U_5836),list(U_5836),hAPP(list(U_5836),fun(list(U_5836),list(U_5836)),append(U_5836),U_5827),hAPP(list(U_5836),list(U_5836),hAPP(U_5836,fun(list(U_5836),list(U_5836)),cons(U_5836),U_5834),U_5826))
            | hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5827))) ) )
    & ! [U_5835,U_5833,U_5831] :
        ( ? [U_5825] :
            ( ? [U_5824] : U_5831 = hAPP(list(U_5835),list(U_5835),hAPP(list(U_5835),fun(list(U_5835),list(U_5835)),append(U_5835),U_5825),hAPP(list(U_5835),list(U_5835),hAPP(U_5835,fun(list(U_5835),list(U_5835)),cons(U_5835),U_5833),U_5824))
            & ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5825))) )
        | ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5831))) ) ),
    inference(miniscope,[status(thm)],[f_1045_2]) ).

fof(f_1045_4,plain,
    ( ! [U_5836,U_5834,U_5832] :
        ( hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5832)))
        | ! [U_5827] :
            ( ! [U_5826] : U_5832 != hAPP(list(U_5836),list(U_5836),hAPP(list(U_5836),fun(list(U_5836),list(U_5836)),append(U_5836),U_5827),hAPP(list(U_5836),list(U_5836),hAPP(U_5836,fun(list(U_5836),list(U_5836)),cons(U_5836),U_5834),U_5826))
            | hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5827))) ) )
    & ! [U_5835,U_5833,U_5831] :
        ( ( ? [U_5824] : U_5831 = hAPP(list(U_5835),list(U_5835),hAPP(list(U_5835),fun(list(U_5835),list(U_5835)),append(U_5835),sK223(U_5835,U_5833,U_5831)),hAPP(list(U_5835),list(U_5835),hAPP(U_5835,fun(list(U_5835),list(U_5835)),cons(U_5835),U_5833),U_5824))
          & ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),sK223(U_5835,U_5833,U_5831)))) )
        | ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5831))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK223]),skolemize(U_5825,sK223(U_5835,U_5833,U_5831))],[f_1045_3]) ).

fof(f_1045_5,plain,
    ( ! [U_5836,U_5834,U_5832] :
        ( hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5832)))
        | ! [U_5827] :
            ( ! [U_5826] : U_5832 != hAPP(list(U_5836),list(U_5836),hAPP(list(U_5836),fun(list(U_5836),list(U_5836)),append(U_5836),U_5827),hAPP(list(U_5836),list(U_5836),hAPP(U_5836,fun(list(U_5836),list(U_5836)),cons(U_5836),U_5834),U_5826))
            | hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5827))) ) )
    & ! [U_5835,U_5833,U_5831] :
        ( ( U_5831 = hAPP(list(U_5835),list(U_5835),hAPP(list(U_5835),fun(list(U_5835),list(U_5835)),append(U_5835),sK223(U_5835,U_5833,U_5831)),hAPP(list(U_5835),list(U_5835),hAPP(U_5835,fun(list(U_5835),list(U_5835)),cons(U_5835),U_5833),sK224(U_5835,U_5833,U_5831)))
          & ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),sK223(U_5835,U_5833,U_5831)))) )
        | ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5831))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK224]),skolemize(U_5824,sK224(U_5835,U_5833,U_5831))],[f_1045_4]) ).

cnf(f_1045_6,plain,
    ( ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),sK223(U_5835,U_5833,U_5831))))
    | ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5831))) ),
    inference(clausify,[status(thm)],[f_1045_5]) ).

cnf(f_1045_7,plain,
    ( U_5831 = hAPP(list(U_5835),list(U_5835),hAPP(list(U_5835),fun(list(U_5835),list(U_5835)),append(U_5835),sK223(U_5835,U_5833,U_5831)),hAPP(list(U_5835),list(U_5835),hAPP(U_5835,fun(list(U_5835),list(U_5835)),cons(U_5835),U_5833),sK224(U_5835,U_5833,U_5831)))
    | ~ hBOOL(hAPP(fun(U_5835,bool),bool,hAPP(U_5835,fun(fun(U_5835,bool),bool),member(U_5835),U_5833),hAPP(list(U_5835),fun(U_5835,bool),set(U_5835),U_5831))) ),
    inference(clausify,[status(thm)],[f_1045_5]) ).

cnf(f_1045_8,plain,
    ( hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5832)))
    | U_5832 != hAPP(list(U_5836),list(U_5836),hAPP(list(U_5836),fun(list(U_5836),list(U_5836)),append(U_5836),U_5827),hAPP(list(U_5836),list(U_5836),hAPP(U_5836,fun(list(U_5836),list(U_5836)),cons(U_5836),U_5834),U_5826))
    | hBOOL(hAPP(fun(U_5836,bool),bool,hAPP(U_5836,fun(fun(U_5836,bool),bool),member(U_5836),U_5834),hAPP(list(U_5836),fun(U_5836,bool),set(U_5836),U_5827))) ),
    inference(clausify,[status(thm)],[f_1045_5]) ).

fof(f_1046_1,plain,
    ! [Jmdcl,C_1,D_2,Fds,Mths,Pa] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,Pa),C_1),Jmdcl))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),Jmdcl),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),Mths)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),D_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),Fds),Mths)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),Pa)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_898_wf__J__prog__wf__J__mdecl]) ).

fof(f_1046_2,plain,
    ! [U_5842,U_5841,U_5840,U_5839,U_5838,U_5837] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,U_5837),U_5841),U_5842))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),U_5842),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),U_5838)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),U_5841),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),U_5840),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),U_5839),U_5838)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),U_5837)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_5837)) ),
    inference(variable_rename,[status(thm)],[f_1046_1]) ).

cnf(f_1046_3,plain,
    ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool)),wf_J_mdecl,U_5837),U_5841),U_5842))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),U_5842),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),U_5838)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),U_5841),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),U_5840),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))),U_5839),U_5838)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),U_5837)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wf_J_mdecl),U_5837)) ),
    inference(clausify,[status(thm)],[f_1046_2]) ).

fof(f_1047_1,plain,
    ! [X_a,M,Ts,Ta,M_1,C_1,S_2,Fs,Ms,Wf_md,Pa] :
      ( hBOOL(hAPP(fun(ty,bool),bool,hAPP(fun(ty,bool),fun(fun(ty,bool),bool),ord_less_eq(fun(ty,bool)),hAPP(list(ty),fun(ty,bool),set(ty),Ts)),hAPP(fun(ty,bool),fun(ty,bool),collect(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,bool),is_type(X_a),Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),Ms)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),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))))))),bool),bool,hAPP(product_prod(list(char),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(product_prod(list(char),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))))))),bool),bool),member(product_prod(list(char),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)))))))),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),S_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),set(product_prod(list(char),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)))))))),Pa)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_899_is__type__pTs]) ).

fof(f_1047_2,plain,
    ! [U_5853,U_5852,U_5851,U_5850,U_5849,U_5848,U_5847,U_5846,U_5845,U_5844,U_5843] :
      ( hBOOL(hAPP(fun(ty,bool),bool,hAPP(fun(ty,bool),fun(fun(ty,bool),bool),ord_less_eq(fun(ty,bool)),hAPP(list(ty),fun(ty,bool),set(ty),U_5851)),hAPP(fun(ty,bool),fun(ty,bool),collect(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,U_5853)))))))),fun(ty,bool),is_type(U_5853),U_5843))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),hAPP(product_prod(list(ty),product_prod(ty,U_5853)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5853)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5853))),U_5852),hAPP(product_prod(ty,U_5853),product_prod(list(ty),product_prod(ty,U_5853)),hAPP(list(ty),fun(product_prod(ty,U_5853),product_prod(list(ty),product_prod(ty,U_5853))),product_Pair(list(ty),product_prod(ty,U_5853)),U_5851),hAPP(U_5853,product_prod(ty,U_5853),hAPP(ty,fun(U_5853,product_prod(ty,U_5853)),product_Pair(ty,U_5853),U_5850),U_5849)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),U_5845)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),fun(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),U_5848),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),U_5847),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),U_5846),U_5845)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),U_5843)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),bool,hAPP(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,U_5853)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool))),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,U_5853)))))))),bool),wf_prog(U_5853),U_5844),U_5843)) ),
    inference(variable_rename,[status(thm)],[f_1047_1]) ).

cnf(f_1047_3,plain,
    ( hBOOL(hAPP(fun(ty,bool),bool,hAPP(fun(ty,bool),fun(fun(ty,bool),bool),ord_less_eq(fun(ty,bool)),hAPP(list(ty),fun(ty,bool),set(ty),U_5851)),hAPP(fun(ty,bool),fun(ty,bool),collect(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,U_5853)))))))),fun(ty,bool),is_type(U_5853),U_5843))))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),hAPP(product_prod(list(ty),product_prod(ty,U_5853)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5853)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5853))),U_5852),hAPP(product_prod(ty,U_5853),product_prod(list(ty),product_prod(ty,U_5853)),hAPP(list(ty),fun(product_prod(ty,U_5853),product_prod(list(ty),product_prod(ty,U_5853))),product_Pair(list(ty),product_prod(ty,U_5853)),U_5851),hAPP(U_5853,product_prod(ty,U_5853),hAPP(ty,fun(U_5853,product_prod(ty,U_5853)),product_Pair(ty,U_5853),U_5850),U_5849)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),U_5845)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),fun(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),U_5848),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),U_5847),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))),U_5846),U_5845)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),U_5843)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853)))))))),bool,hAPP(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,U_5853)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5853))),bool))),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,U_5853)))))))),bool),wf_prog(U_5853),U_5844),U_5843)) ),
    inference(clausify,[status(thm)],[f_1047_2]) ).

fof(f_1048_1,plain,
    ! [X_a,X_1,Xs] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
        | ! [Ys_2,Zs_1] : Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) )
      & ( ? [Ys_2,Zs_1] : Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1))
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_900_in__set__conv__decomp]) ).

fof(f_1048_2,plain,
    ! [U_5860,U_5859,U_5858] :
      ( ( hBOOL(hAPP(fun(U_5860,bool),bool,hAPP(U_5860,fun(fun(U_5860,bool),bool),member(U_5860),U_5859),hAPP(list(U_5860),fun(U_5860,bool),set(U_5860),U_5858)))
        | ! [U_5857,U_5856] : U_5858 != hAPP(list(U_5860),list(U_5860),hAPP(list(U_5860),fun(list(U_5860),list(U_5860)),append(U_5860),U_5857),hAPP(list(U_5860),list(U_5860),hAPP(U_5860,fun(list(U_5860),list(U_5860)),cons(U_5860),U_5859),U_5856)) )
      & ( ? [U_5855,U_5854] : U_5858 = hAPP(list(U_5860),list(U_5860),hAPP(list(U_5860),fun(list(U_5860),list(U_5860)),append(U_5860),U_5855),hAPP(list(U_5860),list(U_5860),hAPP(U_5860,fun(list(U_5860),list(U_5860)),cons(U_5860),U_5859),U_5854))
        | ~ hBOOL(hAPP(fun(U_5860,bool),bool,hAPP(U_5860,fun(fun(U_5860,bool),bool),member(U_5860),U_5859),hAPP(list(U_5860),fun(U_5860,bool),set(U_5860),U_5858))) ) ),
    inference(variable_rename,[status(thm)],[f_1048_1]) ).

fof(f_1048_3,plain,
    ( ! [U_5866,U_5864,U_5862] :
        ( hBOOL(hAPP(fun(U_5866,bool),bool,hAPP(U_5866,fun(fun(U_5866,bool),bool),member(U_5866),U_5864),hAPP(list(U_5866),fun(U_5866,bool),set(U_5866),U_5862)))
        | ! [U_5857,U_5856] : U_5862 != hAPP(list(U_5866),list(U_5866),hAPP(list(U_5866),fun(list(U_5866),list(U_5866)),append(U_5866),U_5857),hAPP(list(U_5866),list(U_5866),hAPP(U_5866,fun(list(U_5866),list(U_5866)),cons(U_5866),U_5864),U_5856)) )
    & ! [U_5865,U_5863,U_5861] :
        ( ? [U_5855,U_5854] : U_5861 = hAPP(list(U_5865),list(U_5865),hAPP(list(U_5865),fun(list(U_5865),list(U_5865)),append(U_5865),U_5855),hAPP(list(U_5865),list(U_5865),hAPP(U_5865,fun(list(U_5865),list(U_5865)),cons(U_5865),U_5863),U_5854))
        | ~ hBOOL(hAPP(fun(U_5865,bool),bool,hAPP(U_5865,fun(fun(U_5865,bool),bool),member(U_5865),U_5863),hAPP(list(U_5865),fun(U_5865,bool),set(U_5865),U_5861))) ) ),
    inference(miniscope,[status(thm)],[f_1048_2]) ).

fof(f_1048_4,plain,
    ( ! [U_5866,U_5864,U_5862] :
        ( hBOOL(hAPP(fun(U_5866,bool),bool,hAPP(U_5866,fun(fun(U_5866,bool),bool),member(U_5866),U_5864),hAPP(list(U_5866),fun(U_5866,bool),set(U_5866),U_5862)))
        | ! [U_5857,U_5856] : U_5862 != hAPP(list(U_5866),list(U_5866),hAPP(list(U_5866),fun(list(U_5866),list(U_5866)),append(U_5866),U_5857),hAPP(list(U_5866),list(U_5866),hAPP(U_5866,fun(list(U_5866),list(U_5866)),cons(U_5866),U_5864),U_5856)) )
    & ! [U_5865,U_5863,U_5861] :
        ( ? [U_5854] : U_5861 = hAPP(list(U_5865),list(U_5865),hAPP(list(U_5865),fun(list(U_5865),list(U_5865)),append(U_5865),sK225(U_5865,U_5863,U_5861)),hAPP(list(U_5865),list(U_5865),hAPP(U_5865,fun(list(U_5865),list(U_5865)),cons(U_5865),U_5863),U_5854))
        | ~ hBOOL(hAPP(fun(U_5865,bool),bool,hAPP(U_5865,fun(fun(U_5865,bool),bool),member(U_5865),U_5863),hAPP(list(U_5865),fun(U_5865,bool),set(U_5865),U_5861))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK225]),skolemize(U_5855,sK225(U_5865,U_5863,U_5861))],[f_1048_3]) ).

fof(f_1048_5,plain,
    ( ! [U_5866,U_5864,U_5862] :
        ( hBOOL(hAPP(fun(U_5866,bool),bool,hAPP(U_5866,fun(fun(U_5866,bool),bool),member(U_5866),U_5864),hAPP(list(U_5866),fun(U_5866,bool),set(U_5866),U_5862)))
        | ! [U_5857,U_5856] : U_5862 != hAPP(list(U_5866),list(U_5866),hAPP(list(U_5866),fun(list(U_5866),list(U_5866)),append(U_5866),U_5857),hAPP(list(U_5866),list(U_5866),hAPP(U_5866,fun(list(U_5866),list(U_5866)),cons(U_5866),U_5864),U_5856)) )
    & ! [U_5865,U_5863,U_5861] :
        ( U_5861 = hAPP(list(U_5865),list(U_5865),hAPP(list(U_5865),fun(list(U_5865),list(U_5865)),append(U_5865),sK225(U_5865,U_5863,U_5861)),hAPP(list(U_5865),list(U_5865),hAPP(U_5865,fun(list(U_5865),list(U_5865)),cons(U_5865),U_5863),sK226(U_5865,U_5863,U_5861)))
        | ~ hBOOL(hAPP(fun(U_5865,bool),bool,hAPP(U_5865,fun(fun(U_5865,bool),bool),member(U_5865),U_5863),hAPP(list(U_5865),fun(U_5865,bool),set(U_5865),U_5861))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK226]),skolemize(U_5854,sK226(U_5865,U_5863,U_5861))],[f_1048_4]) ).

cnf(f_1048_6,plain,
    ( U_5861 = hAPP(list(U_5865),list(U_5865),hAPP(list(U_5865),fun(list(U_5865),list(U_5865)),append(U_5865),sK225(U_5865,U_5863,U_5861)),hAPP(list(U_5865),list(U_5865),hAPP(U_5865,fun(list(U_5865),list(U_5865)),cons(U_5865),U_5863),sK226(U_5865,U_5863,U_5861)))
    | ~ hBOOL(hAPP(fun(U_5865,bool),bool,hAPP(U_5865,fun(fun(U_5865,bool),bool),member(U_5865),U_5863),hAPP(list(U_5865),fun(U_5865,bool),set(U_5865),U_5861))) ),
    inference(clausify,[status(thm)],[f_1048_5]) ).

cnf(f_1048_7,plain,
    ( hBOOL(hAPP(fun(U_5866,bool),bool,hAPP(U_5866,fun(fun(U_5866,bool),bool),member(U_5866),U_5864),hAPP(list(U_5866),fun(U_5866,bool),set(U_5866),U_5862)))
    | U_5862 != hAPP(list(U_5866),list(U_5866),hAPP(list(U_5866),fun(list(U_5866),list(U_5866)),append(U_5866),U_5857),hAPP(list(U_5866),list(U_5866),hAPP(U_5866,fun(list(U_5866),list(U_5866)),cons(U_5866),U_5864),U_5856)) ),
    inference(clausify,[status(thm)],[f_1048_5]) ).

fof(f_1049_1,plain,
    ! [X_a,X_1,Xs] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs)))
        | ! [Ys_2,Zs_1] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))
            | Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) ) )
      & ( ? [Ys_2,Zs_1] :
            ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs_1)))
            & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_1)) )
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_901_in__set__conv__decomp__last]) ).

fof(f_1049_2,plain,
    ! [U_5873,U_5872,U_5871] :
      ( ( hBOOL(hAPP(fun(U_5873,bool),bool,hAPP(U_5873,fun(fun(U_5873,bool),bool),member(U_5873),U_5872),hAPP(list(U_5873),fun(U_5873,bool),set(U_5873),U_5871)))
        | ! [U_5870,U_5869] :
            ( hBOOL(hAPP(fun(U_5873,bool),bool,hAPP(U_5873,fun(fun(U_5873,bool),bool),member(U_5873),U_5872),hAPP(list(U_5873),fun(U_5873,bool),set(U_5873),U_5869)))
            | U_5871 != hAPP(list(U_5873),list(U_5873),hAPP(list(U_5873),fun(list(U_5873),list(U_5873)),append(U_5873),U_5870),hAPP(list(U_5873),list(U_5873),hAPP(U_5873,fun(list(U_5873),list(U_5873)),cons(U_5873),U_5872),U_5869)) ) )
      & ( ? [U_5868,U_5867] :
            ( ~ hBOOL(hAPP(fun(U_5873,bool),bool,hAPP(U_5873,fun(fun(U_5873,bool),bool),member(U_5873),U_5872),hAPP(list(U_5873),fun(U_5873,bool),set(U_5873),U_5867)))
            & U_5871 = hAPP(list(U_5873),list(U_5873),hAPP(list(U_5873),fun(list(U_5873),list(U_5873)),append(U_5873),U_5868),hAPP(list(U_5873),list(U_5873),hAPP(U_5873,fun(list(U_5873),list(U_5873)),cons(U_5873),U_5872),U_5867)) )
        | ~ hBOOL(hAPP(fun(U_5873,bool),bool,hAPP(U_5873,fun(fun(U_5873,bool),bool),member(U_5873),U_5872),hAPP(list(U_5873),fun(U_5873,bool),set(U_5873),U_5871))) ) ),
    inference(variable_rename,[status(thm)],[f_1049_1]) ).

fof(f_1049_3,plain,
    ( ! [U_5879,U_5877,U_5875] :
        ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5875)))
        | ! [U_5870,U_5869] :
            ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5869)))
            | U_5875 != hAPP(list(U_5879),list(U_5879),hAPP(list(U_5879),fun(list(U_5879),list(U_5879)),append(U_5879),U_5870),hAPP(list(U_5879),list(U_5879),hAPP(U_5879,fun(list(U_5879),list(U_5879)),cons(U_5879),U_5877),U_5869)) ) )
    & ! [U_5878,U_5876,U_5874] :
        ( ? [U_5868,U_5867] :
            ( ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5867)))
            & U_5874 = hAPP(list(U_5878),list(U_5878),hAPP(list(U_5878),fun(list(U_5878),list(U_5878)),append(U_5878),U_5868),hAPP(list(U_5878),list(U_5878),hAPP(U_5878,fun(list(U_5878),list(U_5878)),cons(U_5878),U_5876),U_5867)) )
        | ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5874))) ) ),
    inference(miniscope,[status(thm)],[f_1049_2]) ).

fof(f_1049_4,plain,
    ( ! [U_5879,U_5877,U_5875] :
        ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5875)))
        | ! [U_5870,U_5869] :
            ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5869)))
            | U_5875 != hAPP(list(U_5879),list(U_5879),hAPP(list(U_5879),fun(list(U_5879),list(U_5879)),append(U_5879),U_5870),hAPP(list(U_5879),list(U_5879),hAPP(U_5879,fun(list(U_5879),list(U_5879)),cons(U_5879),U_5877),U_5869)) ) )
    & ! [U_5878,U_5876,U_5874] :
        ( ? [U_5867] :
            ( ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5867)))
            & U_5874 = hAPP(list(U_5878),list(U_5878),hAPP(list(U_5878),fun(list(U_5878),list(U_5878)),append(U_5878),sK227(U_5878,U_5876,U_5874)),hAPP(list(U_5878),list(U_5878),hAPP(U_5878,fun(list(U_5878),list(U_5878)),cons(U_5878),U_5876),U_5867)) )
        | ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5874))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK227]),skolemize(U_5868,sK227(U_5878,U_5876,U_5874))],[f_1049_3]) ).

fof(f_1049_5,plain,
    ( ! [U_5879,U_5877,U_5875] :
        ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5875)))
        | ! [U_5870,U_5869] :
            ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5869)))
            | U_5875 != hAPP(list(U_5879),list(U_5879),hAPP(list(U_5879),fun(list(U_5879),list(U_5879)),append(U_5879),U_5870),hAPP(list(U_5879),list(U_5879),hAPP(U_5879,fun(list(U_5879),list(U_5879)),cons(U_5879),U_5877),U_5869)) ) )
    & ! [U_5878,U_5876,U_5874] :
        ( ( ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),sK228(U_5878,U_5876,U_5874))))
          & U_5874 = hAPP(list(U_5878),list(U_5878),hAPP(list(U_5878),fun(list(U_5878),list(U_5878)),append(U_5878),sK227(U_5878,U_5876,U_5874)),hAPP(list(U_5878),list(U_5878),hAPP(U_5878,fun(list(U_5878),list(U_5878)),cons(U_5878),U_5876),sK228(U_5878,U_5876,U_5874))) )
        | ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5874))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK228]),skolemize(U_5867,sK228(U_5878,U_5876,U_5874))],[f_1049_4]) ).

cnf(f_1049_6,plain,
    ( U_5874 = hAPP(list(U_5878),list(U_5878),hAPP(list(U_5878),fun(list(U_5878),list(U_5878)),append(U_5878),sK227(U_5878,U_5876,U_5874)),hAPP(list(U_5878),list(U_5878),hAPP(U_5878,fun(list(U_5878),list(U_5878)),cons(U_5878),U_5876),sK228(U_5878,U_5876,U_5874)))
    | ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5874))) ),
    inference(clausify,[status(thm)],[f_1049_5]) ).

cnf(f_1049_7,plain,
    ( ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),sK228(U_5878,U_5876,U_5874))))
    | ~ hBOOL(hAPP(fun(U_5878,bool),bool,hAPP(U_5878,fun(fun(U_5878,bool),bool),member(U_5878),U_5876),hAPP(list(U_5878),fun(U_5878,bool),set(U_5878),U_5874))) ),
    inference(clausify,[status(thm)],[f_1049_5]) ).

cnf(f_1049_8,plain,
    ( hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5875)))
    | hBOOL(hAPP(fun(U_5879,bool),bool,hAPP(U_5879,fun(fun(U_5879,bool),bool),member(U_5879),U_5877),hAPP(list(U_5879),fun(U_5879,bool),set(U_5879),U_5869)))
    | U_5875 != hAPP(list(U_5879),list(U_5879),hAPP(list(U_5879),fun(list(U_5879),list(U_5879)),append(U_5879),U_5870),hAPP(list(U_5879),list(U_5879),hAPP(U_5879,fun(list(U_5879),list(U_5879)),cons(U_5879),U_5877),U_5869)) ),
    inference(clausify,[status(thm)],[f_1049_5]) ).

fof(f_1050_1,plain,
    ! [X_a,M,Ts,Ta,M_1,C_1,S_2,Fs,Ms,Wf_md,Pa] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),C_1))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),Ms)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),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))))))),bool),bool,hAPP(product_prod(list(char),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(product_prod(list(char),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))))))),bool),bool),member(product_prod(list(char),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)))))))),hAPP(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)))))),product_prod(list(char),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))))))),hAPP(list(char),fun(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)))))),product_prod(list(char),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)))))))),product_Pair(list(char),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))))))),C_1),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),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))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),S_2),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),Fs),Ms)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),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))))))),bool),set(product_prod(list(char),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)))))))),Pa)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_902_mdecl__visible]) ).

fof(f_1050_2,plain,
    ! [U_5890,U_5889,U_5888,U_5887,U_5886,U_5885,U_5884,U_5883,U_5882,U_5881,U_5880] :
      ( hBOOL(hAPP(list(char),bool,hAPP(U_5890,fun(list(char),bool),hAPP(ty,fun(U_5890,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5890,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool)))))),method(U_5890),U_5880),U_5885),U_5889),U_5888),U_5887),U_5886),U_5885))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),hAPP(product_prod(list(ty),product_prod(ty,U_5890)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5890)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5890))),U_5889),hAPP(product_prod(ty,U_5890),product_prod(list(ty),product_prod(ty,U_5890)),hAPP(list(ty),fun(product_prod(ty,U_5890),product_prod(list(ty),product_prod(ty,U_5890))),product_Pair(list(ty),product_prod(ty,U_5890)),U_5888),hAPP(U_5890,product_prod(ty,U_5890),hAPP(ty,fun(U_5890,product_prod(ty,U_5890)),product_Pair(ty,U_5890),U_5887),U_5886)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),U_5882)))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),fun(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),U_5885),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),U_5884),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),U_5883),U_5882)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),U_5880)))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),bool,hAPP(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,U_5890)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool))),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,U_5890)))))))),bool),wf_prog(U_5890),U_5881),U_5880)) ),
    inference(variable_rename,[status(thm)],[f_1050_1]) ).

cnf(f_1050_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(U_5890,fun(list(char),bool),hAPP(ty,fun(U_5890,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5890,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5890,fun(list(char),bool)))))),method(U_5890),U_5880),U_5885),U_5889),U_5888),U_5887),U_5886),U_5885))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),bool,hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),fun(fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),bool),member(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),hAPP(product_prod(list(ty),product_prod(ty,U_5890)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5890)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5890))),U_5889),hAPP(product_prod(ty,U_5890),product_prod(list(ty),product_prod(ty,U_5890)),hAPP(list(ty),fun(product_prod(ty,U_5890),product_prod(list(ty),product_prod(ty,U_5890))),product_Pair(list(ty),product_prod(ty,U_5890)),U_5888),hAPP(U_5890,product_prod(ty,U_5890),hAPP(ty,fun(U_5890,product_prod(ty,U_5890)),product_Pair(ty,U_5890),U_5887),U_5886)))),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool),set(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),U_5882)))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),bool,hAPP(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),fun(fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),bool),member(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),hAPP(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),hAPP(list(char),fun(product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),product_Pair(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),U_5885),hAPP(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),hAPP(list(char),fun(product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),product_Pair(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),U_5884),hAPP(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),hAPP(list(product_prod(list(char),ty)),fun(list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))),product_Pair(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))),U_5883),U_5882)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),fun(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))))))),bool),set(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),U_5880)))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890)))))))),bool,hAPP(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,U_5890)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5890))),bool))),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,U_5890)))))))),bool),wf_prog(U_5890),U_5881),U_5880)) ),
    inference(clausify,[status(thm)],[f_1050_2]) ).

fof(f_1051_1,plain,
    ! [X_a,X_b,Ys,F] :
      ( ( ? [Xs_2] : Ys = hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_2)
        | ? [X_2] :
            ( ! [Xa] : ti(X_b,X_2) != hAPP(X_a,X_b,F,Xa)
            & 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))) ) )
      & ( ! [X_2] :
            ( ? [Xa] : ti(X_b,X_2) = hAPP(X_a,X_b,F,Xa)
            | ~ 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))) )
        | ! [Xs_2] : Ys != hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_2) ) ),
    inference(fof_nnf,[status(thm)],[fact_903_ex__map__conv]) ).

fof(f_1051_2,plain,
    ! [U_5900,U_5899,U_5898,U_5897] :
      ( ( ? [U_5896] : U_5898 = hAPP(list(U_5900),list(U_5899),hAPP(fun(U_5900,U_5899),fun(list(U_5900),list(U_5899)),map(U_5900,U_5899),U_5897),U_5896)
        | ? [U_5895] :
            ( ! [U_5894] : ti(U_5899,U_5895) != hAPP(U_5900,U_5899,U_5897,U_5894)
            & hBOOL(hAPP(fun(U_5899,bool),bool,hAPP(U_5899,fun(fun(U_5899,bool),bool),member(U_5899),U_5895),hAPP(list(U_5899),fun(U_5899,bool),set(U_5899),U_5898))) ) )
      & ( ! [U_5893] :
            ( ? [U_5892] : ti(U_5899,U_5893) = hAPP(U_5900,U_5899,U_5897,U_5892)
            | ~ hBOOL(hAPP(fun(U_5899,bool),bool,hAPP(U_5899,fun(fun(U_5899,bool),bool),member(U_5899),U_5893),hAPP(list(U_5899),fun(U_5899,bool),set(U_5899),U_5898))) )
        | ! [U_5891] : U_5898 != hAPP(list(U_5900),list(U_5899),hAPP(fun(U_5900,U_5899),fun(list(U_5900),list(U_5899)),map(U_5900,U_5899),U_5897),U_5891) ) ),
    inference(variable_rename,[status(thm)],[f_1051_1]) ).

fof(f_1051_3,plain,
    ( ! [U_5908,U_5906,U_5904,U_5902] :
        ( ? [U_5896] : U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),U_5896)
        | ? [U_5895] :
            ( ! [U_5894] : ti(U_5906,U_5895) != hAPP(U_5908,U_5906,U_5902,U_5894)
            & hBOOL(hAPP(fun(U_5906,bool),bool,hAPP(U_5906,fun(fun(U_5906,bool),bool),member(U_5906),U_5895),hAPP(list(U_5906),fun(U_5906,bool),set(U_5906),U_5904))) ) )
    & ! [U_5907,U_5905,U_5903,U_5901] :
        ( ! [U_5893] :
            ( ? [U_5892] : ti(U_5905,U_5893) = hAPP(U_5907,U_5905,U_5901,U_5892)
            | ~ hBOOL(hAPP(fun(U_5905,bool),bool,hAPP(U_5905,fun(fun(U_5905,bool),bool),member(U_5905),U_5893),hAPP(list(U_5905),fun(U_5905,bool),set(U_5905),U_5903))) )
        | ! [U_5891] : U_5903 != hAPP(list(U_5907),list(U_5905),hAPP(fun(U_5907,U_5905),fun(list(U_5907),list(U_5905)),map(U_5907,U_5905),U_5901),U_5891) ) ),
    inference(miniscope,[status(thm)],[f_1051_2]) ).

fof(f_1051_4,plain,
    ( ! [U_5908,U_5906,U_5904,U_5902] :
        ( ? [U_5896] : U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),U_5896)
        | ? [U_5895] :
            ( ! [U_5894] : ti(U_5906,U_5895) != hAPP(U_5908,U_5906,U_5902,U_5894)
            & hBOOL(hAPP(fun(U_5906,bool),bool,hAPP(U_5906,fun(fun(U_5906,bool),bool),member(U_5906),U_5895),hAPP(list(U_5906),fun(U_5906,bool),set(U_5906),U_5904))) ) )
    & ! [U_5907,U_5905,U_5903,U_5901] :
        ( ! [U_5893] :
            ( ti(U_5905,U_5893) = hAPP(U_5907,U_5905,U_5901,sK229(U_5907,U_5905,U_5903,U_5901,U_5893))
            | ~ hBOOL(hAPP(fun(U_5905,bool),bool,hAPP(U_5905,fun(fun(U_5905,bool),bool),member(U_5905),U_5893),hAPP(list(U_5905),fun(U_5905,bool),set(U_5905),U_5903))) )
        | ! [U_5891] : U_5903 != hAPP(list(U_5907),list(U_5905),hAPP(fun(U_5907,U_5905),fun(list(U_5907),list(U_5905)),map(U_5907,U_5905),U_5901),U_5891) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK229]),skolemize(U_5892,sK229(U_5907,U_5905,U_5903,U_5901,U_5893))],[f_1051_3]) ).

fof(f_1051_5,plain,
    ( ! [U_5908,U_5906,U_5904,U_5902] :
        ( ? [U_5896] : U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),U_5896)
        | ( ! [U_5894] : ti(U_5906,sK230(U_5908,U_5906,U_5904,U_5902)) != hAPP(U_5908,U_5906,U_5902,U_5894)
          & hBOOL(hAPP(fun(U_5906,bool),bool,hAPP(U_5906,fun(fun(U_5906,bool),bool),member(U_5906),sK230(U_5908,U_5906,U_5904,U_5902)),hAPP(list(U_5906),fun(U_5906,bool),set(U_5906),U_5904))) ) )
    & ! [U_5907,U_5905,U_5903,U_5901] :
        ( ! [U_5893] :
            ( ti(U_5905,U_5893) = hAPP(U_5907,U_5905,U_5901,sK229(U_5907,U_5905,U_5903,U_5901,U_5893))
            | ~ hBOOL(hAPP(fun(U_5905,bool),bool,hAPP(U_5905,fun(fun(U_5905,bool),bool),member(U_5905),U_5893),hAPP(list(U_5905),fun(U_5905,bool),set(U_5905),U_5903))) )
        | ! [U_5891] : U_5903 != hAPP(list(U_5907),list(U_5905),hAPP(fun(U_5907,U_5905),fun(list(U_5907),list(U_5905)),map(U_5907,U_5905),U_5901),U_5891) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK230]),skolemize(U_5895,sK230(U_5908,U_5906,U_5904,U_5902))],[f_1051_4]) ).

fof(f_1051_6,plain,
    ( ! [U_5908,U_5906,U_5904,U_5902] :
        ( U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),sK231(U_5908,U_5906,U_5904,U_5902))
        | ( ! [U_5894] : ti(U_5906,sK230(U_5908,U_5906,U_5904,U_5902)) != hAPP(U_5908,U_5906,U_5902,U_5894)
          & hBOOL(hAPP(fun(U_5906,bool),bool,hAPP(U_5906,fun(fun(U_5906,bool),bool),member(U_5906),sK230(U_5908,U_5906,U_5904,U_5902)),hAPP(list(U_5906),fun(U_5906,bool),set(U_5906),U_5904))) ) )
    & ! [U_5907,U_5905,U_5903,U_5901] :
        ( ! [U_5893] :
            ( ti(U_5905,U_5893) = hAPP(U_5907,U_5905,U_5901,sK229(U_5907,U_5905,U_5903,U_5901,U_5893))
            | ~ hBOOL(hAPP(fun(U_5905,bool),bool,hAPP(U_5905,fun(fun(U_5905,bool),bool),member(U_5905),U_5893),hAPP(list(U_5905),fun(U_5905,bool),set(U_5905),U_5903))) )
        | ! [U_5891] : U_5903 != hAPP(list(U_5907),list(U_5905),hAPP(fun(U_5907,U_5905),fun(list(U_5907),list(U_5905)),map(U_5907,U_5905),U_5901),U_5891) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK231]),skolemize(U_5896,sK231(U_5908,U_5906,U_5904,U_5902))],[f_1051_5]) ).

cnf(f_1051_7,plain,
    ( ti(U_5905,U_5893) = hAPP(U_5907,U_5905,U_5901,sK229(U_5907,U_5905,U_5903,U_5901,U_5893))
    | ~ hBOOL(hAPP(fun(U_5905,bool),bool,hAPP(U_5905,fun(fun(U_5905,bool),bool),member(U_5905),U_5893),hAPP(list(U_5905),fun(U_5905,bool),set(U_5905),U_5903)))
    | U_5903 != hAPP(list(U_5907),list(U_5905),hAPP(fun(U_5907,U_5905),fun(list(U_5907),list(U_5905)),map(U_5907,U_5905),U_5901),U_5891) ),
    inference(clausify,[status(thm)],[f_1051_6]) ).

cnf(f_1051_8,plain,
    ( hBOOL(hAPP(fun(U_5906,bool),bool,hAPP(U_5906,fun(fun(U_5906,bool),bool),member(U_5906),sK230(U_5908,U_5906,U_5904,U_5902)),hAPP(list(U_5906),fun(U_5906,bool),set(U_5906),U_5904)))
    | U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),sK231(U_5908,U_5906,U_5904,U_5902)) ),
    inference(clausify,[status(thm)],[f_1051_6]) ).

cnf(f_1051_9,plain,
    ( ti(U_5906,sK230(U_5908,U_5906,U_5904,U_5902)) != hAPP(U_5908,U_5906,U_5902,U_5894)
    | U_5904 = hAPP(list(U_5908),list(U_5906),hAPP(fun(U_5908,U_5906),fun(list(U_5908),list(U_5906)),map(U_5908,U_5906),U_5902),sK231(U_5908,U_5906,U_5904,U_5902)) ),
    inference(clausify,[status(thm)],[f_1051_6]) ).

fof(f_1052_1,plain,
    ! [X_a,TS_1,T_4,M_7,D_5,P,C_4,M_6,TS,T_3,M_5,D_4] :
      ( ( D_5 = D_4
        & ti(X_a,M_7) = ti(X_a,M_5)
        & T_4 = T_3
        & TS_1 = TS )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),TS_1),T_4),M_7),D_5))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),TS),T_3),M_5),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_904_sees__method__fun]) ).

fof(f_1052_2,plain,
    ! [U_5920,U_5919,U_5918,U_5917,U_5916,U_5915,U_5914,U_5913,U_5912,U_5911,U_5910,U_5909] :
      ( ( U_5916 = U_5909
        & ti(U_5920,U_5917) = ti(U_5920,U_5910)
        & U_5918 = U_5911
        & U_5919 = U_5912 )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5919),U_5918),U_5917),U_5916))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5912),U_5911),U_5910),U_5909)) ),
    inference(variable_rename,[status(thm)],[f_1052_1]) ).

cnf(f_1052_3,plain,
    ( U_5919 = U_5912
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5919),U_5918),U_5917),U_5916))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5912),U_5911),U_5910),U_5909)) ),
    inference(clausify,[status(thm)],[f_1052_2]) ).

cnf(f_1052_4,plain,
    ( U_5918 = U_5911
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5919),U_5918),U_5917),U_5916))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5912),U_5911),U_5910),U_5909)) ),
    inference(clausify,[status(thm)],[f_1052_2]) ).

cnf(f_1052_5,plain,
    ( ti(U_5920,U_5917) = ti(U_5920,U_5910)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5919),U_5918),U_5917),U_5916))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5912),U_5911),U_5910),U_5909)) ),
    inference(clausify,[status(thm)],[f_1052_2]) ).

cnf(f_1052_6,plain,
    ( U_5916 = U_5909
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5919),U_5918),U_5917),U_5916))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5920,fun(list(char),bool),hAPP(ty,fun(U_5920,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5920)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5920,fun(list(char),bool)))))),method(U_5920),U_5915),U_5914),U_5913),U_5912),U_5911),U_5910),U_5909)) ),
    inference(clausify,[status(thm)],[f_1052_2]) ).

fof(f_1053_1,plain,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),D_4),M_6),Ts_4),T_3),M_5),D_4))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_905_sees__method__idemp]) ).

fof(f_1053_2,plain,
    ! [U_5928,U_5927,U_5926,U_5925,U_5924,U_5923,U_5922,U_5921] :
      ( hBOOL(hAPP(list(char),bool,hAPP(U_5928,fun(list(char),bool),hAPP(ty,fun(U_5928,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5928)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))))),method(U_5928),U_5927),U_5921),U_5925),U_5924),U_5923),U_5922),U_5921))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5928,fun(list(char),bool),hAPP(ty,fun(U_5928,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5928)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))))),method(U_5928),U_5927),U_5926),U_5925),U_5924),U_5923),U_5922),U_5921)) ),
    inference(variable_rename,[status(thm)],[f_1053_1]) ).

cnf(f_1053_3,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(U_5928,fun(list(char),bool),hAPP(ty,fun(U_5928,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5928)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))))),method(U_5928),U_5927),U_5921),U_5925),U_5924),U_5923),U_5922),U_5921))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5928,fun(list(char),bool),hAPP(ty,fun(U_5928,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5928)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5928,fun(list(char),bool)))))),method(U_5928),U_5927),U_5926),U_5925),U_5924),U_5923),U_5922),U_5921)) ),
    inference(clausify,[status(thm)],[f_1053_2]) ).

fof(f_1054_1,plain,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),bool),is_class(X_a),P),C_4))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_906_sees__method__is__class]) ).

fof(f_1054_2,plain,
    ! [U_5936,U_5935,U_5934,U_5933,U_5932,U_5931,U_5930,U_5929] :
      ( hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),bool),is_class(U_5936),U_5935),U_5934))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5936,fun(list(char),bool),hAPP(ty,fun(U_5936,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))))),method(U_5936),U_5935),U_5934),U_5933),U_5932),U_5931),U_5930),U_5929)) ),
    inference(variable_rename,[status(thm)],[f_1054_1]) ).

fof(f_1054_3,plain,
    ! [U_5936,U_5935,U_5934] :
      ( ! [U_5933,U_5932,U_5931,U_5930,U_5929] : ~ hBOOL(hAPP(list(char),bool,hAPP(U_5936,fun(list(char),bool),hAPP(ty,fun(U_5936,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))))),method(U_5936),U_5935),U_5934),U_5933),U_5932),U_5931),U_5930),U_5929))
      | hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),bool),is_class(U_5936),U_5935),U_5934)) ),
    inference(miniscope,[status(thm)],[f_1054_2]) ).

cnf(f_1054_4,plain,
    ( ~ hBOOL(hAPP(list(char),bool,hAPP(U_5936,fun(list(char),bool),hAPP(ty,fun(U_5936,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5936,fun(list(char),bool)))))),method(U_5936),U_5935),U_5934),U_5933),U_5932),U_5931),U_5930),U_5929))
    | hBOOL(hAPP(list(char),bool,hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5936)))))))),fun(list(char),bool),is_class(U_5936),U_5935),U_5934)) ),
    inference(clausify,[status(thm)],[f_1054_3]) ).

fof(f_1055_1,plain,
    ! [X_a,Ts_1,T_a,M_2,D_3,M,Ts,Ta,M_1,D_2,C_3,C_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_3),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_3),M),Ts_1),T_a),M_2),D_3))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_907_sees__method__decl__mono]) ).

fof(f_1055_2,plain,
    ! [U_5949,U_5948,U_5947,U_5946,U_5945,U_5944,U_5943,U_5942,U_5941,U_5940,U_5939,U_5938,U_5937] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5945),U_5940)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5949),U_5937))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5949,fun(list(char),bool),hAPP(ty,fun(U_5949,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))))),method(U_5949),U_5937),U_5939),U_5944),U_5948),U_5947),U_5946),U_5945))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5949,fun(list(char),bool),hAPP(ty,fun(U_5949,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))))),method(U_5949),U_5937),U_5938),U_5944),U_5943),U_5942),U_5941),U_5940))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5939),U_5938)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5949),U_5937)))) ),
    inference(variable_rename,[status(thm)],[f_1055_1]) ).

cnf(f_1055_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5945),U_5940)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5949),U_5937))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5949,fun(list(char),bool),hAPP(ty,fun(U_5949,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))))),method(U_5949),U_5937),U_5939),U_5944),U_5948),U_5947),U_5946),U_5945))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5949,fun(list(char),bool),hAPP(ty,fun(U_5949,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5949,fun(list(char),bool)))))),method(U_5949),U_5937),U_5938),U_5944),U_5943),U_5942),U_5941),U_5940))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5939),U_5938)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5949)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5949),U_5937)))) ),
    inference(clausify,[status(thm)],[f_1055_2]) ).

fof(f_1056_1,plain,
    ! [X_a,Pa,C_1,M,Ts,Ta,M_1,D_2] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2)) ),
    inference(fof_nnf,[status(thm)],[fact_908_sees__method__decl__above]) ).

fof(f_1056_2,plain,
    ! [U_5957,U_5956,U_5955,U_5954,U_5953,U_5952,U_5951,U_5950] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5955),U_5950)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5957)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5957),U_5956))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5957,fun(list(char),bool),hAPP(ty,fun(U_5957,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5957,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5957)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool)))))),method(U_5957),U_5956),U_5955),U_5954),U_5953),U_5952),U_5951),U_5950)) ),
    inference(variable_rename,[status(thm)],[f_1056_1]) ).

cnf(f_1056_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_5955),U_5950)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5957)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_5957),U_5956))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5957,fun(list(char),bool),hAPP(ty,fun(U_5957,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5957,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5957)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5957,fun(list(char),bool)))))),method(U_5957),U_5956),U_5955),U_5954),U_5953),U_5952),U_5951),U_5950)) ),
    inference(clausify,[status(thm)],[f_1056_2]) ).

fof(f_1057_1,plain,
    ! [X_a,C_1,M,Ts,Ta,M_1,D_2,Wf_md,Pa] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool)),hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),wf_mdecl(X_a),Wf_md),Pa),D_2),hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),M),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1)))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_909_sees__wf__mdecl]) ).

fof(f_1057_2,plain,
    ! [U_5966,U_5965,U_5964,U_5963,U_5962,U_5961,U_5960,U_5959,U_5958] :
      ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool)),hAPP(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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),wf_mdecl(U_5966),U_5959),U_5958),U_5960),hAPP(product_prod(list(ty),product_prod(ty,U_5966)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5966)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5966))),U_5964),hAPP(product_prod(ty,U_5966),product_prod(list(ty),product_prod(ty,U_5966)),hAPP(list(ty),fun(product_prod(ty,U_5966),product_prod(list(ty),product_prod(ty,U_5966))),product_Pair(list(ty),product_prod(ty,U_5966)),U_5963),hAPP(U_5966,product_prod(ty,U_5966),hAPP(ty,fun(U_5966,product_prod(ty,U_5966)),product_Pair(ty,U_5966),U_5962),U_5961)))))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5966,fun(list(char),bool),hAPP(ty,fun(U_5966,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5966,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool)))))),method(U_5966),U_5958),U_5965),U_5964),U_5963),U_5962),U_5961),U_5960))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),bool,hAPP(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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),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,U_5966)))))))),bool),wf_prog(U_5966),U_5959),U_5958)) ),
    inference(variable_rename,[status(thm)],[f_1057_1]) ).

cnf(f_1057_3,plain,
    ( hBOOL(hAPP(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool,hAPP(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool)),hAPP(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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),wf_mdecl(U_5966),U_5959),U_5958),U_5960),hAPP(product_prod(list(ty),product_prod(ty,U_5966)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5966)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5966))),U_5964),hAPP(product_prod(ty,U_5966),product_prod(list(ty),product_prod(ty,U_5966)),hAPP(list(ty),fun(product_prod(ty,U_5966),product_prod(list(ty),product_prod(ty,U_5966))),product_Pair(list(ty),product_prod(ty,U_5966)),U_5963),hAPP(U_5966,product_prod(ty,U_5966),hAPP(ty,fun(U_5966,product_prod(ty,U_5966)),product_Pair(ty,U_5966),U_5962),U_5961)))))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5966,fun(list(char),bool),hAPP(ty,fun(U_5966,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5966,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5966,fun(list(char),bool)))))),method(U_5966),U_5958),U_5965),U_5964),U_5963),U_5962),U_5961),U_5960))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966)))))))),bool,hAPP(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,U_5966)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5966))),bool))),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,U_5966)))))))),bool),wf_prog(U_5966),U_5959),U_5958)) ),
    inference(clausify,[status(thm)],[f_1057_2]) ).

fof(f_1058_1,plain,
    ! [X_a,P,C_4,M_6,Ts_4,T_3,M_5,D_4] :
      ( hAPP(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))))),method_1(X_a),P),C_4),M_6) = hAPP(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,X_a)),product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,X_a))),D_4),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts_4),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),T_3),M_5)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),P),C_4),M_6),Ts_4),T_3),M_5),D_4)) ),
    inference(fof_nnf,[status(thm)],[fact_910_method__def2]) ).

fof(f_1058_2,plain,
    ! [U_5974,U_5973,U_5972,U_5971,U_5970,U_5969,U_5968,U_5967] :
      ( hAPP(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))),hAPP(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))))),method_1(U_5974),U_5973),U_5972),U_5971) = hAPP(product_prod(list(ty),product_prod(ty,U_5974)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5974)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5974))),U_5967),hAPP(product_prod(ty,U_5974),product_prod(list(ty),product_prod(ty,U_5974)),hAPP(list(ty),fun(product_prod(ty,U_5974),product_prod(list(ty),product_prod(ty,U_5974))),product_Pair(list(ty),product_prod(ty,U_5974)),U_5970),hAPP(U_5974,product_prod(ty,U_5974),hAPP(ty,fun(U_5974,product_prod(ty,U_5974)),product_Pair(ty,U_5974),U_5969),U_5968)))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5974,fun(list(char),bool),hAPP(ty,fun(U_5974,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5974,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool)))))),method(U_5974),U_5973),U_5972),U_5971),U_5970),U_5969),U_5968),U_5967)) ),
    inference(variable_rename,[status(thm)],[f_1058_1]) ).

cnf(f_1058_3,plain,
    ( hAPP(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))),hAPP(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))))))),fun(list(char),fun(list(char),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))))),method_1(U_5974),U_5973),U_5972),U_5971) = hAPP(product_prod(list(ty),product_prod(ty,U_5974)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974))),hAPP(list(char),fun(product_prod(list(ty),product_prod(ty,U_5974)),product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))),product_Pair(list(char),product_prod(list(ty),product_prod(ty,U_5974))),U_5967),hAPP(product_prod(ty,U_5974),product_prod(list(ty),product_prod(ty,U_5974)),hAPP(list(ty),fun(product_prod(ty,U_5974),product_prod(list(ty),product_prod(ty,U_5974))),product_Pair(list(ty),product_prod(ty,U_5974)),U_5970),hAPP(U_5974,product_prod(ty,U_5974),hAPP(ty,fun(U_5974,product_prod(ty,U_5974)),product_Pair(ty,U_5974),U_5969),U_5968)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_5974,fun(list(char),bool),hAPP(ty,fun(U_5974,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_5974,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_5974)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_5974,fun(list(char),bool)))))),method(U_5974),U_5973),U_5972),U_5971),U_5970),U_5969),U_5968),U_5967)) ),
    inference(clausify,[status(thm)],[f_1058_2]) ).

fof(f_1059_1,plain,
    ! [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)
      | ? [X_2] :
          ( hAPP(X_a,X_b,F,X_2) != hAPP(X_a,X_b,G,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))) ) ),
    inference(fof_nnf,[status(thm)],[fact_911_map__ext]) ).

fof(f_1059_2,plain,
    ! [U_5980,U_5979,U_5978,U_5977,U_5976] :
      ( hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5978),U_5976) = hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5977),U_5976)
      | ? [U_5975] :
          ( hAPP(U_5979,U_5980,U_5978,U_5975) != hAPP(U_5979,U_5980,U_5977,U_5975)
          & hBOOL(hAPP(fun(U_5979,bool),bool,hAPP(U_5979,fun(fun(U_5979,bool),bool),member(U_5979),U_5975),hAPP(list(U_5979),fun(U_5979,bool),set(U_5979),U_5976))) ) ),
    inference(variable_rename,[status(thm)],[f_1059_1]) ).

fof(f_1059_3,plain,
    ! [U_5980,U_5979,U_5978,U_5977,U_5976] :
      ( hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5978),U_5976) = hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5977),U_5976)
      | ( hAPP(U_5979,U_5980,U_5978,sK232(U_5980,U_5979,U_5978,U_5977,U_5976)) != hAPP(U_5979,U_5980,U_5977,sK232(U_5980,U_5979,U_5978,U_5977,U_5976))
        & hBOOL(hAPP(fun(U_5979,bool),bool,hAPP(U_5979,fun(fun(U_5979,bool),bool),member(U_5979),sK232(U_5980,U_5979,U_5978,U_5977,U_5976)),hAPP(list(U_5979),fun(U_5979,bool),set(U_5979),U_5976))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK232]),skolemize(U_5975,sK232(U_5980,U_5979,U_5978,U_5977,U_5976))],[f_1059_2]) ).

cnf(f_1059_4,plain,
    ( hBOOL(hAPP(fun(U_5979,bool),bool,hAPP(U_5979,fun(fun(U_5979,bool),bool),member(U_5979),sK232(U_5980,U_5979,U_5978,U_5977,U_5976)),hAPP(list(U_5979),fun(U_5979,bool),set(U_5979),U_5976)))
    | hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5978),U_5976) = hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5977),U_5976) ),
    inference(clausify,[status(thm)],[f_1059_3]) ).

cnf(f_1059_5,plain,
    ( hAPP(U_5979,U_5980,U_5978,sK232(U_5980,U_5979,U_5978,U_5977,U_5976)) != hAPP(U_5979,U_5980,U_5977,sK232(U_5980,U_5979,U_5978,U_5977,U_5976))
    | hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5978),U_5976) = hAPP(list(U_5979),list(U_5980),hAPP(fun(U_5979,U_5980),fun(list(U_5979),list(U_5980)),map(U_5979,U_5980),U_5977),U_5976) ),
    inference(clausify,[status(thm)],[f_1059_3]) ).

fof(f_1060_1,plain,
    ! [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
      | ? [X_2] :
          ( hAPP(X_a,X_a,F,X_2) != ti(X_a,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))) ) ),
    inference(fof_nnf,[status(thm)],[fact_912_map__idI]) ).

fof(f_1060_2,plain,
    ! [U_5984,U_5983,U_5982] :
      ( hAPP(list(U_5984),list(U_5984),hAPP(fun(U_5984,U_5984),fun(list(U_5984),list(U_5984)),map(U_5984,U_5984),U_5983),U_5982) = U_5982
      | ? [U_5981] :
          ( hAPP(U_5984,U_5984,U_5983,U_5981) != ti(U_5984,U_5981)
          & hBOOL(hAPP(fun(U_5984,bool),bool,hAPP(U_5984,fun(fun(U_5984,bool),bool),member(U_5984),U_5981),hAPP(list(U_5984),fun(U_5984,bool),set(U_5984),U_5982))) ) ),
    inference(variable_rename,[status(thm)],[f_1060_1]) ).

fof(f_1060_3,plain,
    ! [U_5984,U_5983,U_5982] :
      ( hAPP(list(U_5984),list(U_5984),hAPP(fun(U_5984,U_5984),fun(list(U_5984),list(U_5984)),map(U_5984,U_5984),U_5983),U_5982) = U_5982
      | ( hAPP(U_5984,U_5984,U_5983,sK233(U_5984,U_5983,U_5982)) != ti(U_5984,sK233(U_5984,U_5983,U_5982))
        & hBOOL(hAPP(fun(U_5984,bool),bool,hAPP(U_5984,fun(fun(U_5984,bool),bool),member(U_5984),sK233(U_5984,U_5983,U_5982)),hAPP(list(U_5984),fun(U_5984,bool),set(U_5984),U_5982))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK233]),skolemize(U_5981,sK233(U_5984,U_5983,U_5982))],[f_1060_2]) ).

cnf(f_1060_4,plain,
    ( hBOOL(hAPP(fun(U_5984,bool),bool,hAPP(U_5984,fun(fun(U_5984,bool),bool),member(U_5984),sK233(U_5984,U_5983,U_5982)),hAPP(list(U_5984),fun(U_5984,bool),set(U_5984),U_5982)))
    | hAPP(list(U_5984),list(U_5984),hAPP(fun(U_5984,U_5984),fun(list(U_5984),list(U_5984)),map(U_5984,U_5984),U_5983),U_5982) = U_5982 ),
    inference(clausify,[status(thm)],[f_1060_3]) ).

cnf(f_1060_5,plain,
    ( hAPP(U_5984,U_5984,U_5983,sK233(U_5984,U_5983,U_5982)) != ti(U_5984,sK233(U_5984,U_5983,U_5982))
    | hAPP(list(U_5984),list(U_5984),hAPP(fun(U_5984,U_5984),fun(list(U_5984),list(U_5984)),map(U_5984,U_5984),U_5983),U_5982) = U_5982 ),
    inference(clausify,[status(thm)],[f_1060_3]) ).

fof(f_1061_1,plain,
    ! [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)
      | ? [X_2] :
          ( hAPP(X_a,X_b,F,X_2) != hAPP(X_a,X_b,G,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))) )
      | Xs != Ys ),
    inference(fof_nnf,[status(thm)],[fact_913_map__cong]) ).

fof(f_1061_2,plain,
    ! [U_5991,U_5990,U_5989,U_5988,U_5987,U_5986] :
      ( hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5989),U_5987) = hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5988),U_5986)
      | ? [U_5985] :
          ( hAPP(U_5990,U_5991,U_5989,U_5985) != hAPP(U_5990,U_5991,U_5988,U_5985)
          & hBOOL(hAPP(fun(U_5990,bool),bool,hAPP(U_5990,fun(fun(U_5990,bool),bool),member(U_5990),U_5985),hAPP(list(U_5990),fun(U_5990,bool),set(U_5990),U_5986))) )
      | U_5987 != U_5986 ),
    inference(variable_rename,[status(thm)],[f_1061_1]) ).

fof(f_1061_3,plain,
    ! [U_5991,U_5990,U_5989,U_5988,U_5987,U_5986] :
      ( hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5989),U_5987) = hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5988),U_5986)
      | ( hAPP(U_5990,U_5991,U_5989,sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986)) != hAPP(U_5990,U_5991,U_5988,sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986))
        & hBOOL(hAPP(fun(U_5990,bool),bool,hAPP(U_5990,fun(fun(U_5990,bool),bool),member(U_5990),sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986)),hAPP(list(U_5990),fun(U_5990,bool),set(U_5990),U_5986))) )
      | U_5987 != U_5986 ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK234]),skolemize(U_5985,sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986))],[f_1061_2]) ).

cnf(f_1061_4,plain,
    ( hBOOL(hAPP(fun(U_5990,bool),bool,hAPP(U_5990,fun(fun(U_5990,bool),bool),member(U_5990),sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986)),hAPP(list(U_5990),fun(U_5990,bool),set(U_5990),U_5986)))
    | hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5989),U_5987) = hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5988),U_5986)
    | U_5987 != U_5986 ),
    inference(clausify,[status(thm)],[f_1061_3]) ).

cnf(f_1061_5,plain,
    ( hAPP(U_5990,U_5991,U_5989,sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986)) != hAPP(U_5990,U_5991,U_5988,sK234(U_5991,U_5990,U_5989,U_5988,U_5987,U_5986))
    | hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5989),U_5987) = hAPP(list(U_5990),list(U_5991),hAPP(fun(U_5990,U_5991),fun(list(U_5990),list(U_5991)),map(U_5990,U_5991),U_5988),U_5986)
    | U_5987 != U_5986 ),
    inference(clausify,[status(thm)],[f_1061_3]) ).

fof(f_1062_1,plain,
    ! [X_a,Pa,C_1,M,Ts,Ta,M_1,D_2] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
        | ! [Mm_4] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_4,M) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1))),D_2))
            | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm_4)) ) )
      & ( ? [Mm_4] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_4,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a)),hAPP(list(ty),fun(product_prod(ty,X_a),product_prod(list(ty),product_prod(ty,X_a))),product_Pair(list(ty),product_prod(ty,X_a)),Ts),hAPP(X_a,product_prod(ty,X_a),hAPP(ty,fun(X_a,product_prod(ty,X_a)),product_Pair(ty,X_a),Ta),M_1))),D_2))
            & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm_4)) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_914_Method__def]) ).

fof(f_1062_2,plain,
    ! [U_6001,U_6000,U_5999,U_5998,U_5997,U_5996,U_5995,U_5994] :
      ( ( hBOOL(hAPP(list(char),bool,hAPP(U_6001,fun(list(char),bool),hAPP(ty,fun(U_6001,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6001,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6001)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool)))))),method(U_6001),U_6000),U_5999),U_5998),U_5997),U_5996),U_5995),U_5994))
        | ! [U_5993] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),U_5993,U_5998) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6001)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),hAPP(product_prod(ty,U_6001),product_prod(list(ty),product_prod(ty,U_6001)),hAPP(list(ty),fun(product_prod(ty,U_6001),product_prod(list(ty),product_prod(ty,U_6001))),product_Pair(list(ty),product_prod(ty,U_6001)),U_5997),hAPP(U_6001,product_prod(ty,U_6001),hAPP(ty,fun(U_6001,product_prod(ty,U_6001)),product_Pair(ty,U_6001),U_5996),U_5995))),U_5994))
            | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6001)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool)),methods(U_6001),U_6000),U_5999),U_5993)) ) )
      & ( ? [U_5992] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),U_5992,U_5998) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6001)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6001)),list(char)),hAPP(product_prod(ty,U_6001),product_prod(list(ty),product_prod(ty,U_6001)),hAPP(list(ty),fun(product_prod(ty,U_6001),product_prod(list(ty),product_prod(ty,U_6001))),product_Pair(list(ty),product_prod(ty,U_6001)),U_5997),hAPP(U_6001,product_prod(ty,U_6001),hAPP(ty,fun(U_6001,product_prod(ty,U_6001)),product_Pair(ty,U_6001),U_5996),U_5995))),U_5994))
            & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6001)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6001)),list(char)))),bool)),methods(U_6001),U_6000),U_5999),U_5992)) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6001,fun(list(char),bool),hAPP(ty,fun(U_6001,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6001,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6001)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6001,fun(list(char),bool)))))),method(U_6001),U_6000),U_5999),U_5998),U_5997),U_5996),U_5995),U_5994)) ) ),
    inference(variable_rename,[status(thm)],[f_1062_1]) ).

fof(f_1062_3,plain,
    ( ! [U_6017,U_6015,U_6013,U_6011,U_6009,U_6007,U_6005,U_6003] :
        ( hBOOL(hAPP(list(char),bool,hAPP(U_6017,fun(list(char),bool),hAPP(ty,fun(U_6017,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))))),method(U_6017),U_6015),U_6013),U_6011),U_6009),U_6007),U_6005),U_6003))
        | ! [U_5993] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),U_5993,U_6011) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6017)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017)),hAPP(list(ty),fun(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017))),product_Pair(list(ty),product_prod(ty,U_6017)),U_6009),hAPP(U_6017,product_prod(ty,U_6017),hAPP(ty,fun(U_6017,product_prod(ty,U_6017)),product_Pair(ty,U_6017),U_6007),U_6005))),U_6003))
            | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool)),methods(U_6017),U_6015),U_6013),U_5993)) ) )
    & ! [U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002] :
        ( ? [U_5992] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),U_5992,U_6010) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6016)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016)),hAPP(list(ty),fun(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016))),product_Pair(list(ty),product_prod(ty,U_6016)),U_6008),hAPP(U_6016,product_prod(ty,U_6016),hAPP(ty,fun(U_6016,product_prod(ty,U_6016)),product_Pair(ty,U_6016),U_6006),U_6004))),U_6002))
            & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool)),methods(U_6016),U_6014),U_6012),U_5992)) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6016,fun(list(char),bool),hAPP(ty,fun(U_6016,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))))),method(U_6016),U_6014),U_6012),U_6010),U_6008),U_6006),U_6004),U_6002)) ) ),
    inference(miniscope,[status(thm)],[f_1062_2]) ).

fof(f_1062_4,plain,
    ( ! [U_6017,U_6015,U_6013,U_6011,U_6009,U_6007,U_6005,U_6003] :
        ( hBOOL(hAPP(list(char),bool,hAPP(U_6017,fun(list(char),bool),hAPP(ty,fun(U_6017,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))))),method(U_6017),U_6015),U_6013),U_6011),U_6009),U_6007),U_6005),U_6003))
        | ! [U_5993] :
            ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),U_5993,U_6011) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6017)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017)),hAPP(list(ty),fun(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017))),product_Pair(list(ty),product_prod(ty,U_6017)),U_6009),hAPP(U_6017,product_prod(ty,U_6017),hAPP(ty,fun(U_6017,product_prod(ty,U_6017)),product_Pair(ty,U_6017),U_6007),U_6005))),U_6003))
            | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool)),methods(U_6017),U_6015),U_6013),U_5993)) ) )
    & ! [U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002] :
        ( ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),sK235(U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002),U_6010) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6016)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016)),hAPP(list(ty),fun(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016))),product_Pair(list(ty),product_prod(ty,U_6016)),U_6008),hAPP(U_6016,product_prod(ty,U_6016),hAPP(ty,fun(U_6016,product_prod(ty,U_6016)),product_Pair(ty,U_6016),U_6006),U_6004))),U_6002))
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool)),methods(U_6016),U_6014),U_6012),sK235(U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002))) )
        | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6016,fun(list(char),bool),hAPP(ty,fun(U_6016,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))))),method(U_6016),U_6014),U_6012),U_6010),U_6008),U_6006),U_6004),U_6002)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK235]),skolemize(U_5992,sK235(U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002))],[f_1062_3]) ).

cnf(f_1062_5,plain,
    ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)))),bool)),methods(U_6016),U_6014),U_6012),sK235(U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002)))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6016,fun(list(char),bool),hAPP(ty,fun(U_6016,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))))),method(U_6016),U_6014),U_6012),U_6010),U_6008),U_6006),U_6004),U_6002)) ),
    inference(clausify,[status(thm)],[f_1062_4]) ).

cnf(f_1062_6,plain,
    ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),sK235(U_6016,U_6014,U_6012,U_6010,U_6008,U_6006,U_6004,U_6002),U_6010) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6016)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6016)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6016)),list(char)),hAPP(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016)),hAPP(list(ty),fun(product_prod(ty,U_6016),product_prod(list(ty),product_prod(ty,U_6016))),product_Pair(list(ty),product_prod(ty,U_6016)),U_6008),hAPP(U_6016,product_prod(ty,U_6016),hAPP(ty,fun(U_6016,product_prod(ty,U_6016)),product_Pair(ty,U_6016),U_6006),U_6004))),U_6002))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6016,fun(list(char),bool),hAPP(ty,fun(U_6016,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6016)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6016,fun(list(char),bool)))))),method(U_6016),U_6014),U_6012),U_6010),U_6008),U_6006),U_6004),U_6002)) ),
    inference(clausify,[status(thm)],[f_1062_4]) ).

cnf(f_1062_7,plain,
    ( hBOOL(hAPP(list(char),bool,hAPP(U_6017,fun(list(char),bool),hAPP(ty,fun(U_6017,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6017,fun(list(char),bool)))))),method(U_6017),U_6015),U_6013),U_6011),U_6009),U_6007),U_6005),U_6003))
    | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),U_5993,U_6011) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6017)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6017)),list(char)),hAPP(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017)),hAPP(list(ty),fun(product_prod(ty,U_6017),product_prod(list(ty),product_prod(ty,U_6017))),product_Pair(list(ty),product_prod(ty,U_6017)),U_6009),hAPP(U_6017,product_prod(ty,U_6017),hAPP(ty,fun(U_6017,product_prod(ty,U_6017)),product_Pair(ty,U_6017),U_6007),U_6005))),U_6003))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6017)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6017)),list(char)))),bool)),methods(U_6017),U_6015),U_6013),U_5993)) ),
    inference(clausify,[status(thm)],[f_1062_4]) ).

fof(f_1063_1,plain,
    ! [X_a,Mm_3,Pa,C_1,Mm] :
      ( Mm_3 = Mm
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm_3))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm)) ),
    inference(fof_nnf,[status(thm)],[fact_915_sees__methods__fun]) ).

fof(f_1063_2,plain,
    ! [U_6022,U_6021,U_6020,U_6019,U_6018] :
      ( U_6021 = U_6018
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6022)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool)),methods(U_6022),U_6020),U_6019),U_6021))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6022)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool)),methods(U_6022),U_6020),U_6019),U_6018)) ),
    inference(variable_rename,[status(thm)],[f_1063_1]) ).

cnf(f_1063_3,plain,
    ( U_6021 = U_6018
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6022)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool)),methods(U_6022),U_6020),U_6019),U_6021))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6022)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6022)),list(char)))),bool)),methods(U_6022),U_6020),U_6019),U_6018)) ),
    inference(clausify,[status(thm)],[f_1063_2]) ).

fof(f_1064_1,plain,
    ! [X_a,M,M_1,D_2,Pa,C_1,Mm] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm,M) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm)) ),
    inference(fof_nnf,[status(thm)],[fact_916_sees__methods__decl__above]) ).

fof(f_1064_2,plain,
    ! [U_6029,U_6028,U_6027,U_6026,U_6025,U_6024,U_6023] :
      ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6024),U_6026)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6029)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6029),U_6025))))
      | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),U_6023,U_6028) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6029)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),U_6027),U_6026))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6029)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool)),methods(U_6029),U_6025),U_6024),U_6023)) ),
    inference(variable_rename,[status(thm)],[f_1064_1]) ).

cnf(f_1064_3,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6024),U_6026)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6029)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6029),U_6025))))
    | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),U_6023,U_6028) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6029)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6029)),list(char)),U_6027),U_6026))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6029)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6029)),list(char)))),bool)),methods(U_6029),U_6025),U_6024),U_6023)) ),
    inference(clausify,[status(thm)],[f_1064_2]) ).

fof(f_1065_1,plain,
    ! [X_a,M,M_1,D_2,Pa,C_1,Mm] :
      ( ? [Mm_1] :
          ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_1,M) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),D_2),Mm_1)) )
      | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm,M) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_1),D_2))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm)) ),
    inference(fof_nnf,[status(thm)],[fact_917_sees__methods__idemp]) ).

fof(f_1065_2,plain,
    ! [U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031] :
      ( ? [U_6030] :
          ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),U_6030,U_6036) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6034),U_6030)) )
      | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),U_6031,U_6036) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6032),U_6031)) ),
    inference(variable_rename,[status(thm)],[f_1065_1]) ).

fof(f_1065_3,plain,
    ! [U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031] :
      ( ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),sK236(U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031),U_6036) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
        & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6034),sK236(U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031))) )
      | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),U_6031,U_6036) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6032),U_6031)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK236]),skolemize(U_6030,sK236(U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031))],[f_1065_2]) ).

cnf(f_1065_4,plain,
    ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6034),sK236(U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031)))
    | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),U_6031,U_6036) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6032),U_6031)) ),
    inference(clausify,[status(thm)],[f_1065_3]) ).

cnf(f_1065_5,plain,
    ( hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),sK236(U_6037,U_6036,U_6035,U_6034,U_6033,U_6032,U_6031),U_6036) = hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
    | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),U_6031,U_6036) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6037)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6037)),list(char)),U_6035),U_6034))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6037)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6037)),list(char)))),bool)),methods(U_6037),U_6033),U_6032),U_6031)) ),
    inference(clausify,[status(thm)],[f_1065_3]) ).

fof(f_1066_1,plain,
    ! [X_a,Mm,C_3,C_1,Pa] :
      ( ? [Mm_1,Mm_2] :
          ( ! [M_4,M_3,D_1] :
              ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_1),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
              | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm_2,M_4) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,X_a)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,X_a)),list(char)),M_3),D_1)) )
          & Mm_1 = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char))),Mm),Mm_2)
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_3),Mm_1)) )
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,X_a)),list(char)))),bool)),methods(X_a),Pa),C_1),Mm))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_918_sees__methods__decl__mono]) ).

fof(f_1066_2,plain,
    ! [U_6047,U_6046,U_6045,U_6044,U_6043] :
      ( ? [U_6042,U_6041] :
          ( ! [U_6040,U_6039,U_6038] :
              ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6038),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043))))
              | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6041,U_6040) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6047)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),U_6039),U_6038)) )
          & U_6042 = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6046),U_6041)
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6045),U_6042)) )
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(variable_rename,[status(thm)],[f_1066_1]) ).

fof(f_1066_3,plain,
    ! [U_6047,U_6046,U_6045,U_6044,U_6043] :
      ( ? [U_6042] :
          ( ? [U_6041] :
              ( ! [U_6040,U_6039,U_6038] :
                  ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6038),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043))))
                  | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6041,U_6040) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6047)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),U_6039),U_6038)) )
              & U_6042 = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6046),U_6041) )
          & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6045),U_6042)) )
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(miniscope,[status(thm)],[f_1066_2]) ).

fof(f_1066_4,plain,
    ! [U_6047,U_6046,U_6045,U_6044,U_6043] :
      ( ( ? [U_6041] :
            ( ! [U_6040,U_6039,U_6038] :
                ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6038),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043))))
                | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6041,U_6040) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6047)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),U_6039),U_6038)) )
            & sK237(U_6047,U_6046,U_6045,U_6044,U_6043) = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6046),U_6041) )
        & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6045),sK237(U_6047,U_6046,U_6045,U_6044,U_6043))) )
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK237]),skolemize(U_6042,sK237(U_6047,U_6046,U_6045,U_6044,U_6043))],[f_1066_3]) ).

fof(f_1066_5,plain,
    ! [U_6047,U_6046,U_6045,U_6044,U_6043] :
      ( ( ! [U_6040,U_6039,U_6038] :
            ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6038),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043))))
            | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),sK238(U_6047,U_6046,U_6045,U_6044,U_6043),U_6040) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6047)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),U_6039),U_6038)) )
        & sK237(U_6047,U_6046,U_6045,U_6044,U_6043) = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6046),sK238(U_6047,U_6046,U_6045,U_6044,U_6043))
        & hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6045),sK237(U_6047,U_6046,U_6045,U_6044,U_6043))) )
      | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK238]),skolemize(U_6041,sK238(U_6047,U_6046,U_6045,U_6044,U_6043))],[f_1066_4]) ).

cnf(f_1066_6,plain,
    ( hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6045),sK237(U_6047,U_6046,U_6045,U_6044,U_6043)))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(clausify,[status(thm)],[f_1066_5]) ).

cnf(f_1066_7,plain,
    ( sK237(U_6047,U_6046,U_6045,U_6044,U_6043) = hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))))),map_add(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),U_6046),sK238(U_6047,U_6046,U_6045,U_6044,U_6043))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(clausify,[status(thm)],[f_1066_5]) ).

cnf(f_1066_8,plain,
    ( hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6038),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043))))
    | hAPP(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),sK238(U_6047,U_6046,U_6045,U_6044,U_6043),U_6040) != hAPP(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),some(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),hAPP(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),hAPP(product_prod(list(ty),product_prod(ty,U_6047)),fun(list(char),product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char))),product_Pair(product_prod(list(ty),product_prod(ty,U_6047)),list(char)),U_6039),U_6038))
    | ~ hBOOL(hAPP(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool,hAPP(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(list(char),fun(fun(list(char),option(product_prod(product_prod(list(ty),product_prod(ty,U_6047)),list(char)))),bool)),methods(U_6047),U_6043),U_6044),U_6046))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6045),U_6044)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6047)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6047),U_6043)))) ),
    inference(clausify,[status(thm)],[f_1066_5]) ).

fof(f_1067_1,plain,
    ! [Ef,H_3,L_3,L_2_1,M,Ts,Ta,Pns,Body,D_2,C_1,Fs,Esa,Vs_1,H_2,L_2,Eb,S_0,A_1,S_1,Pa] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ef),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_3),L_2)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),Ef))
      | ~ 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)))),Body),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Ef),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_3),L_3)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | L_2_1 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))),Pns),Vs_1)
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Esa),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(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),S_0)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_919_CallRedsFinal]) ).

fof(f_1067_2,plain,
    ! [U_6068,U_6067,U_6066,U_6065,U_6064,U_6063,U_6062,U_6061,U_6060,U_6059,U_6058,U_6057,U_6056,U_6055,U_6054,U_6053,U_6052,U_6051,U_6050,U_6049,U_6048] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6052),U_6064),U_6056)),U_6051)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6068),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))),U_6067),U_6053)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6068))
      | ~ 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)))),U_6060),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))),U_6054),U_6065))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6068),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))),U_6067),U_6066)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
      | U_6065 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_6050)))),U_6061),U_6055)
      | hAPP(list(val),nat,size_size(list(val)),U_6055) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6061)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6048),U_6058),U_6064),U_6063),U_6062),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6061),U_6060)),U_6059))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_6054,U_6050) != 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))),U_6058),U_6057))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6056),U_6049)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_6055)),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))),U_6054),U_6053)))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_6048))))
      | ~ 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)))),U_6052),U_6051)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6050))),U_6049))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_6048)) ),
    inference(variable_rename,[status(thm)],[f_1067_1]) ).

cnf(f_1067_3,plain,
    ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6052),U_6064),U_6056)),U_6051)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6068),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))),U_6067),U_6053)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6068))
    | ~ 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)))),U_6060),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))),U_6054),U_6065))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6068),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))),U_6067),U_6066)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
    | U_6065 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_6050)))),U_6061),U_6055)
    | hAPP(list(val),nat,size_size(list(val)),U_6055) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6061)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6048),U_6058),U_6064),U_6063),U_6062),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6061),U_6060)),U_6059))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_6054,U_6050) != 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))),U_6058),U_6057))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6056),U_6049)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),U_6055)),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))),U_6054),U_6053)))),hAPP(fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),transitive_rtrancl(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(list(exp(list(char))),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),reds,U_6048))))
    | ~ 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)))),U_6052),U_6051)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6050))),U_6049))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6048))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char)))))),bool))),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))))))))))),bool),wf_prog(product_prod(list(list(char)),exp(list(char)))),wwf_J_mdecl),U_6048)) ),
    inference(clausify,[status(thm)],[f_1067_2]) ).

fof(f_1068_1,plain,
    ! [X_a,F_1,D_2,Ta,Pa,C_1,FDTs] :
      ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),F_1),D_2)),Ta)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),FDTs)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(X_a),Pa),C_1),FDTs)) ),
    inference(fof_nnf,[status(thm)],[fact_920_subcls__notin__has__fields]) ).

fof(f_1068_2,plain,
    ! [U_6075,U_6074,U_6073,U_6072,U_6071,U_6070,U_6069] :
      ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6073),U_6070)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6075)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6075),U_6071))))
      | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6074),U_6073)),U_6072)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_6069)))
      | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_6075)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_6075),U_6071),U_6070),U_6069)) ),
    inference(variable_rename,[status(thm)],[f_1068_1]) ).

cnf(f_1068_3,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6073),U_6070)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6075)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6075),U_6071))))
    | ~ hBOOL(hAPP(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool,hAPP(product_prod(product_prod(list(char),list(char)),ty),fun(fun(product_prod(product_prod(list(char),list(char)),ty),bool),bool),member(product_prod(product_prod(list(char),list(char)),ty)),hAPP(ty,product_prod(product_prod(list(char),list(char)),ty),hAPP(product_prod(list(char),list(char)),fun(ty,product_prod(product_prod(list(char),list(char)),ty)),product_Pair(product_prod(list(char),list(char)),ty),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6074),U_6073)),U_6072)),hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),fun(product_prod(product_prod(list(char),list(char)),ty),bool),set(product_prod(product_prod(list(char),list(char)),ty)),U_6069)))
    | ~ hBOOL(hAPP(list(product_prod(product_prod(list(char),list(char)),ty)),bool,hAPP(list(char),fun(list(product_prod(product_prod(list(char),list(char)),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,U_6075)))))))),fun(list(char),fun(list(product_prod(product_prod(list(char),list(char)),ty)),bool)),fields(U_6075),U_6071),U_6070),U_6069)) ),
    inference(clausify,[status(thm)],[f_1068_2]) ).

fof(f_1069_1,plain,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),B)),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_921_trancl_Or__into__trancl]) ).

fof(f_1069_2,plain,
    ! [U_6079,U_6078,U_6077,U_6076] :
      ( hBOOL(hAPP(fun(product_prod(U_6079,U_6079),bool),bool,hAPP(product_prod(U_6079,U_6079),fun(fun(product_prod(U_6079,U_6079),bool),bool),member(product_prod(U_6079,U_6079)),hAPP(U_6079,product_prod(U_6079,U_6079),hAPP(U_6079,fun(U_6079,product_prod(U_6079,U_6079)),product_Pair(U_6079,U_6079),U_6078),U_6077)),hAPP(fun(product_prod(U_6079,U_6079),bool),fun(product_prod(U_6079,U_6079),bool),transitive_trancl(U_6079),U_6076)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6079,U_6079),bool),bool,hAPP(product_prod(U_6079,U_6079),fun(fun(product_prod(U_6079,U_6079),bool),bool),member(product_prod(U_6079,U_6079)),hAPP(U_6079,product_prod(U_6079,U_6079),hAPP(U_6079,fun(U_6079,product_prod(U_6079,U_6079)),product_Pair(U_6079,U_6079),U_6078),U_6077)),U_6076)) ),
    inference(variable_rename,[status(thm)],[f_1069_1]) ).

cnf(f_1069_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6079,U_6079),bool),bool,hAPP(product_prod(U_6079,U_6079),fun(fun(product_prod(U_6079,U_6079),bool),bool),member(product_prod(U_6079,U_6079)),hAPP(U_6079,product_prod(U_6079,U_6079),hAPP(U_6079,fun(U_6079,product_prod(U_6079,U_6079)),product_Pair(U_6079,U_6079),U_6078),U_6077)),hAPP(fun(product_prod(U_6079,U_6079),bool),fun(product_prod(U_6079,U_6079),bool),transitive_trancl(U_6079),U_6076)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6079,U_6079),bool),bool,hAPP(product_prod(U_6079,U_6079),fun(fun(product_prod(U_6079,U_6079),bool),bool),member(product_prod(U_6079,U_6079)),hAPP(U_6079,product_prod(U_6079,U_6079),hAPP(U_6079,fun(U_6079,product_prod(U_6079,U_6079)),product_Pair(U_6079,U_6079),U_6078),U_6077)),U_6076)) ),
    inference(clausify,[status(thm)],[f_1069_2]) ).

fof(f_1070_1,plain,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_922_trancl__into__rtrancl]) ).

fof(f_1070_2,plain,
    ! [U_6083,U_6082,U_6081,U_6080] :
      ( hBOOL(hAPP(fun(product_prod(U_6083,U_6083),bool),bool,hAPP(product_prod(U_6083,U_6083),fun(fun(product_prod(U_6083,U_6083),bool),bool),member(product_prod(U_6083,U_6083)),hAPP(U_6083,product_prod(U_6083,U_6083),hAPP(U_6083,fun(U_6083,product_prod(U_6083,U_6083)),product_Pair(U_6083,U_6083),U_6082),U_6081)),hAPP(fun(product_prod(U_6083,U_6083),bool),fun(product_prod(U_6083,U_6083),bool),transitive_rtrancl(U_6083),U_6080)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6083,U_6083),bool),bool,hAPP(product_prod(U_6083,U_6083),fun(fun(product_prod(U_6083,U_6083),bool),bool),member(product_prod(U_6083,U_6083)),hAPP(U_6083,product_prod(U_6083,U_6083),hAPP(U_6083,fun(U_6083,product_prod(U_6083,U_6083)),product_Pair(U_6083,U_6083),U_6082),U_6081)),hAPP(fun(product_prod(U_6083,U_6083),bool),fun(product_prod(U_6083,U_6083),bool),transitive_trancl(U_6083),U_6080))) ),
    inference(variable_rename,[status(thm)],[f_1070_1]) ).

cnf(f_1070_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6083,U_6083),bool),bool,hAPP(product_prod(U_6083,U_6083),fun(fun(product_prod(U_6083,U_6083),bool),bool),member(product_prod(U_6083,U_6083)),hAPP(U_6083,product_prod(U_6083,U_6083),hAPP(U_6083,fun(U_6083,product_prod(U_6083,U_6083)),product_Pair(U_6083,U_6083),U_6082),U_6081)),hAPP(fun(product_prod(U_6083,U_6083),bool),fun(product_prod(U_6083,U_6083),bool),transitive_rtrancl(U_6083),U_6080)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6083,U_6083),bool),bool,hAPP(product_prod(U_6083,U_6083),fun(fun(product_prod(U_6083,U_6083),bool),bool),member(product_prod(U_6083,U_6083)),hAPP(U_6083,product_prod(U_6083,U_6083),hAPP(U_6083,fun(U_6083,product_prod(U_6083,U_6083)),product_Pair(U_6083,U_6083),U_6082),U_6081)),hAPP(fun(product_prod(U_6083,U_6083),bool),fun(product_prod(U_6083,U_6083),bool),transitive_trancl(U_6083),U_6080))) ),
    inference(clausify,[status(thm)],[f_1070_2]) ).

fof(f_1071_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_923_map__add__upds]) ).

fof(f_1071_2,plain,
    ! [U_6089,U_6088,U_6087,U_6086,U_6085,U_6084] : hAPP(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088)),hAPP(fun(U_6089,option(U_6088)),fun(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088))),map_add(U_6089,U_6088),U_6087),hAPP(list(U_6088),fun(U_6089,option(U_6088)),hAPP(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088))),hAPP(fun(U_6089,option(U_6088)),fun(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088)))),map_upds(U_6089,U_6088),U_6086),U_6085),U_6084)) = hAPP(list(U_6088),fun(U_6089,option(U_6088)),hAPP(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088))),hAPP(fun(U_6089,option(U_6088)),fun(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088)))),map_upds(U_6089,U_6088),hAPP(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088)),hAPP(fun(U_6089,option(U_6088)),fun(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088))),map_add(U_6089,U_6088),U_6087),U_6086)),U_6085),U_6084),
    inference(variable_rename,[status(thm)],[f_1071_1]) ).

cnf(f_1071_3,plain,
    hAPP(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088)),hAPP(fun(U_6089,option(U_6088)),fun(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088))),map_add(U_6089,U_6088),U_6087),hAPP(list(U_6088),fun(U_6089,option(U_6088)),hAPP(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088))),hAPP(fun(U_6089,option(U_6088)),fun(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088)))),map_upds(U_6089,U_6088),U_6086),U_6085),U_6084)) = hAPP(list(U_6088),fun(U_6089,option(U_6088)),hAPP(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088))),hAPP(fun(U_6089,option(U_6088)),fun(list(U_6089),fun(list(U_6088),fun(U_6089,option(U_6088)))),map_upds(U_6089,U_6088),hAPP(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088)),hAPP(fun(U_6089,option(U_6088)),fun(fun(U_6089,option(U_6088)),fun(U_6089,option(U_6088))),map_add(U_6089,U_6088),U_6087),U_6086)),U_6085),U_6084),
    inference(clausify,[status(thm)],[f_1071_2]) ).

fof(f_1072_1,plain,
    ! [X_a,X_b,M_1,Zs,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),M_1),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs)) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys)
      | hAPP(list(X_a),nat,size_size(list(X_a)),Xs) != hAPP(list(X_b),nat,size_size(list(X_b)),Ys) ),
    inference(fof_nnf,[status(thm)],[fact_924_fun__upds__append2__drop]) ).

fof(f_1072_2,plain,
    ! [U_6095,U_6094,U_6093,U_6092,U_6091,U_6090] :
      ( hAPP(list(U_6094),fun(U_6095,option(U_6094)),hAPP(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094))),hAPP(fun(U_6095,option(U_6094)),fun(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094)))),map_upds(U_6095,U_6094),U_6093),U_6091),hAPP(list(U_6094),list(U_6094),hAPP(list(U_6094),fun(list(U_6094),list(U_6094)),append(U_6094),U_6090),U_6092)) = hAPP(list(U_6094),fun(U_6095,option(U_6094)),hAPP(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094))),hAPP(fun(U_6095,option(U_6094)),fun(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094)))),map_upds(U_6095,U_6094),U_6093),U_6091),U_6090)
      | hAPP(list(U_6095),nat,size_size(list(U_6095)),U_6091) != hAPP(list(U_6094),nat,size_size(list(U_6094)),U_6090) ),
    inference(variable_rename,[status(thm)],[f_1072_1]) ).

cnf(f_1072_3,plain,
    ( hAPP(list(U_6094),fun(U_6095,option(U_6094)),hAPP(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094))),hAPP(fun(U_6095,option(U_6094)),fun(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094)))),map_upds(U_6095,U_6094),U_6093),U_6091),hAPP(list(U_6094),list(U_6094),hAPP(list(U_6094),fun(list(U_6094),list(U_6094)),append(U_6094),U_6090),U_6092)) = hAPP(list(U_6094),fun(U_6095,option(U_6094)),hAPP(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094))),hAPP(fun(U_6095,option(U_6094)),fun(list(U_6095),fun(list(U_6094),fun(U_6095,option(U_6094)))),map_upds(U_6095,U_6094),U_6093),U_6091),U_6090)
    | hAPP(list(U_6095),nat,size_size(list(U_6095)),U_6091) != hAPP(list(U_6094),nat,size_size(list(U_6094)),U_6090) ),
    inference(clausify,[status(thm)],[f_1072_2]) ).

fof(f_1073_1,plain,
    ! [X_a,X_b,M_1,Zs,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),M_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Zs)),Ys) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),Xs),Ys)
      | hAPP(list(X_a),nat,size_size(list(X_a)),Xs) != hAPP(list(X_b),nat,size_size(list(X_b)),Ys) ),
    inference(fof_nnf,[status(thm)],[fact_925_fun__upds__append__drop]) ).

fof(f_1073_2,plain,
    ! [U_6101,U_6100,U_6099,U_6098,U_6097,U_6096] :
      ( hAPP(list(U_6100),fun(U_6101,option(U_6100)),hAPP(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100))),hAPP(fun(U_6101,option(U_6100)),fun(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100)))),map_upds(U_6101,U_6100),U_6099),hAPP(list(U_6101),list(U_6101),hAPP(list(U_6101),fun(list(U_6101),list(U_6101)),append(U_6101),U_6097),U_6098)),U_6096) = hAPP(list(U_6100),fun(U_6101,option(U_6100)),hAPP(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100))),hAPP(fun(U_6101,option(U_6100)),fun(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100)))),map_upds(U_6101,U_6100),U_6099),U_6097),U_6096)
      | hAPP(list(U_6101),nat,size_size(list(U_6101)),U_6097) != hAPP(list(U_6100),nat,size_size(list(U_6100)),U_6096) ),
    inference(variable_rename,[status(thm)],[f_1073_1]) ).

cnf(f_1073_3,plain,
    ( hAPP(list(U_6100),fun(U_6101,option(U_6100)),hAPP(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100))),hAPP(fun(U_6101,option(U_6100)),fun(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100)))),map_upds(U_6101,U_6100),U_6099),hAPP(list(U_6101),list(U_6101),hAPP(list(U_6101),fun(list(U_6101),list(U_6101)),append(U_6101),U_6097),U_6098)),U_6096) = hAPP(list(U_6100),fun(U_6101,option(U_6100)),hAPP(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100))),hAPP(fun(U_6101,option(U_6100)),fun(list(U_6101),fun(list(U_6100),fun(U_6101,option(U_6100)))),map_upds(U_6101,U_6100),U_6099),U_6097),U_6096)
    | hAPP(list(U_6101),nat,size_size(list(U_6101)),U_6097) != hAPP(list(U_6100),nat,size_size(list(U_6100)),U_6096) ),
    inference(clausify,[status(thm)],[f_1073_2]) ).

fof(f_1074_1,plain,
    ! [X_a,R_1] : 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_trancl(X_a),R_1)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1),
    inference(fof_nnf,[status(thm)],[fact_926_trancl__rtrancl__absorb]) ).

fof(f_1074_2,plain,
    ! [U_6103,U_6102] : hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_rtrancl(U_6103),hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_trancl(U_6103),U_6102)) = hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_rtrancl(U_6103),U_6102),
    inference(variable_rename,[status(thm)],[f_1074_1]) ).

cnf(f_1074_3,plain,
    hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_rtrancl(U_6103),hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_trancl(U_6103),U_6102)) = hAPP(fun(product_prod(U_6103,U_6103),bool),fun(product_prod(U_6103,U_6103),bool),transitive_rtrancl(U_6103),U_6102),
    inference(clausify,[status(thm)],[f_1074_2]) ).

fof(f_1075_1,plain,
    ! [X_a,R_1] : hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1),
    inference(fof_nnf,[status(thm)],[fact_927_rtrancl__trancl__absorb]) ).

fof(f_1075_2,plain,
    ! [U_6105,U_6104] : hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_trancl(U_6105),hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_rtrancl(U_6105),U_6104)) = hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_rtrancl(U_6105),U_6104),
    inference(variable_rename,[status(thm)],[f_1075_1]) ).

cnf(f_1075_3,plain,
    hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_trancl(U_6105),hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_rtrancl(U_6105),U_6104)) = hAPP(fun(product_prod(U_6105,U_6105),bool),fun(product_prod(U_6105,U_6105),bool),transitive_rtrancl(U_6105),U_6104),
    inference(clausify,[status(thm)],[f_1075_2]) ).

fof(f_1076_1,plain,
    ! [X_a,Xs_1,Ys_1] :
      ( Xs_1 != Ys_1
      | hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) ),
    inference(fof_nnf,[status(thm)],[fact_928_neq__if__length__neq]) ).

fof(f_1076_2,plain,
    ! [U_6108,U_6107,U_6106] :
      ( U_6107 != U_6106
      | hAPP(list(U_6108),nat,size_size(list(U_6108)),U_6107) = hAPP(list(U_6108),nat,size_size(list(U_6108)),U_6106) ),
    inference(variable_rename,[status(thm)],[f_1076_1]) ).

cnf(f_1076_3,plain,
    ( U_6107 != U_6106
    | hAPP(list(U_6108),nat,size_size(list(U_6108)),U_6107) = hAPP(list(U_6108),nat,size_size(list(U_6108)),U_6106) ),
    inference(clausify,[status(thm)],[f_1076_2]) ).

fof(f_1077_1,plain,
    ! [X_a,P_1,R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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)),P_1),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_929_r__into__trancl_H]) ).

fof(f_1077_2,plain,
    ! [U_6111,U_6110,U_6109] :
      ( hBOOL(hAPP(fun(product_prod(U_6111,U_6111),bool),bool,hAPP(product_prod(U_6111,U_6111),fun(fun(product_prod(U_6111,U_6111),bool),bool),member(product_prod(U_6111,U_6111)),U_6110),hAPP(fun(product_prod(U_6111,U_6111),bool),fun(product_prod(U_6111,U_6111),bool),transitive_trancl(U_6111),U_6109)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6111,U_6111),bool),bool,hAPP(product_prod(U_6111,U_6111),fun(fun(product_prod(U_6111,U_6111),bool),bool),member(product_prod(U_6111,U_6111)),U_6110),U_6109)) ),
    inference(variable_rename,[status(thm)],[f_1077_1]) ).

cnf(f_1077_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6111,U_6111),bool),bool,hAPP(product_prod(U_6111,U_6111),fun(fun(product_prod(U_6111,U_6111),bool),bool),member(product_prod(U_6111,U_6111)),U_6110),hAPP(fun(product_prod(U_6111,U_6111),bool),fun(product_prod(U_6111,U_6111),bool),transitive_trancl(U_6111),U_6109)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6111,U_6111),bool),bool,hAPP(product_prod(U_6111,U_6111),fun(fun(product_prod(U_6111,U_6111),bool),bool),member(product_prod(U_6111,U_6111)),U_6110),U_6109)) ),
    inference(clausify,[status(thm)],[f_1077_2]) ).

fof(f_1078_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_930_length__map]) ).

fof(f_1078_2,plain,
    ! [U_6115,U_6114,U_6113,U_6112] : hAPP(list(U_6115),nat,size_size(list(U_6115)),hAPP(list(U_6114),list(U_6115),hAPP(fun(U_6114,U_6115),fun(list(U_6114),list(U_6115)),map(U_6114,U_6115),U_6113),U_6112)) = hAPP(list(U_6114),nat,size_size(list(U_6114)),U_6112),
    inference(variable_rename,[status(thm)],[f_1078_1]) ).

cnf(f_1078_3,plain,
    hAPP(list(U_6115),nat,size_size(list(U_6115)),hAPP(list(U_6114),list(U_6115),hAPP(fun(U_6114,U_6115),fun(list(U_6114),list(U_6115)),map(U_6114,U_6115),U_6113),U_6112)) = hAPP(list(U_6114),nat,size_size(list(U_6114)),U_6112),
    inference(clausify,[status(thm)],[f_1078_2]) ).

fof(f_1079_1,plain,
    ! [X_b,X_a,X_c,F,Xs,G,Ys] :
      ( hAPP(list(X_b),nat,size_size(list(X_b)),Xs) = hAPP(list(X_c),nat,size_size(list(X_c)),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) ),
    inference(fof_nnf,[status(thm)],[fact_931_map__eq__imp__length__eq]) ).

fof(f_1079_2,plain,
    ! [U_6122,U_6121,U_6120,U_6119,U_6118,U_6117,U_6116] :
      ( hAPP(list(U_6122),nat,size_size(list(U_6122)),U_6118) = hAPP(list(U_6120),nat,size_size(list(U_6120)),U_6116)
      | hAPP(list(U_6122),list(U_6121),hAPP(fun(U_6122,U_6121),fun(list(U_6122),list(U_6121)),map(U_6122,U_6121),U_6119),U_6118) != hAPP(list(U_6120),list(U_6121),hAPP(fun(U_6120,U_6121),fun(list(U_6120),list(U_6121)),map(U_6120,U_6121),U_6117),U_6116) ),
    inference(variable_rename,[status(thm)],[f_1079_1]) ).

cnf(f_1079_3,plain,
    ( hAPP(list(U_6122),nat,size_size(list(U_6122)),U_6118) = hAPP(list(U_6120),nat,size_size(list(U_6120)),U_6116)
    | hAPP(list(U_6122),list(U_6121),hAPP(fun(U_6122,U_6121),fun(list(U_6122),list(U_6121)),map(U_6122,U_6121),U_6119),U_6118) != hAPP(list(U_6120),list(U_6121),hAPP(fun(U_6120,U_6121),fun(list(U_6120),list(U_6121)),map(U_6120,U_6121),U_6117),U_6116) ),
    inference(clausify,[status(thm)],[f_1079_2]) ).

fof(f_1080_1,plain,
    ! [X_a,X,Xs_1,Ys_1] :
      ( Xs_1 != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_1)
      | ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1))) ),
    inference(fof_nnf,[status(thm)],[fact_932_impossible__Cons]) ).

fof(f_1080_2,plain,
    ! [U_6126,U_6125,U_6124,U_6123] :
      ( U_6124 != hAPP(list(U_6126),list(U_6126),hAPP(U_6126,fun(list(U_6126),list(U_6126)),cons(U_6126),U_6125),U_6123)
      | ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(U_6126),nat,size_size(list(U_6126)),U_6124)),hAPP(list(U_6126),nat,size_size(list(U_6126)),U_6123))) ),
    inference(variable_rename,[status(thm)],[f_1080_1]) ).

cnf(f_1080_3,plain,
    ( U_6124 != hAPP(list(U_6126),list(U_6126),hAPP(U_6126,fun(list(U_6126),list(U_6126)),cons(U_6126),U_6125),U_6123)
    | ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(U_6126),nat,size_size(list(U_6126)),U_6124)),hAPP(list(U_6126),nat,size_size(list(U_6126)),U_6123))) ),
    inference(clausify,[status(thm)],[f_1080_2]) ).

fof(f_1081_1,plain,
    ! [X_a,S,P_1,R_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)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),S)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),S))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_933_trancl__mono]) ).

fof(f_1081_2,plain,
    ! [U_6130,U_6129,U_6128,U_6127] :
      ( hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(product_prod(U_6130,U_6130),fun(fun(product_prod(U_6130,U_6130),bool),bool),member(product_prod(U_6130,U_6130)),U_6128),hAPP(fun(product_prod(U_6130,U_6130),bool),fun(product_prod(U_6130,U_6130),bool),transitive_trancl(U_6130),U_6129)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(fun(product_prod(U_6130,U_6130),bool),fun(fun(product_prod(U_6130,U_6130),bool),bool),ord_less_eq(fun(product_prod(U_6130,U_6130),bool)),U_6127),U_6129))
      | ~ hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(product_prod(U_6130,U_6130),fun(fun(product_prod(U_6130,U_6130),bool),bool),member(product_prod(U_6130,U_6130)),U_6128),hAPP(fun(product_prod(U_6130,U_6130),bool),fun(product_prod(U_6130,U_6130),bool),transitive_trancl(U_6130),U_6127))) ),
    inference(variable_rename,[status(thm)],[f_1081_1]) ).

cnf(f_1081_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(product_prod(U_6130,U_6130),fun(fun(product_prod(U_6130,U_6130),bool),bool),member(product_prod(U_6130,U_6130)),U_6128),hAPP(fun(product_prod(U_6130,U_6130),bool),fun(product_prod(U_6130,U_6130),bool),transitive_trancl(U_6130),U_6129)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(fun(product_prod(U_6130,U_6130),bool),fun(fun(product_prod(U_6130,U_6130),bool),bool),ord_less_eq(fun(product_prod(U_6130,U_6130),bool)),U_6127),U_6129))
    | ~ hBOOL(hAPP(fun(product_prod(U_6130,U_6130),bool),bool,hAPP(product_prod(U_6130,U_6130),fun(fun(product_prod(U_6130,U_6130),bool),bool),member(product_prod(U_6130,U_6130)),U_6128),hAPP(fun(product_prod(U_6130,U_6130),bool),fun(product_prod(U_6130,U_6130),bool),transitive_trancl(U_6130),U_6127))) ),
    inference(clausify,[status(thm)],[f_1081_2]) ).

fof(f_1082_1,plain,
    ! [X_b,X_a,F,Ys,X_1,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)
      | 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))) ),
    inference(fof_nnf,[status(thm)],[fact_934_map__upds__apply__nontin]) ).

fof(f_1082_2,plain,
    ! [U_6136,U_6135,U_6134,U_6133,U_6132,U_6131] :
      ( hAPP(U_6135,option(U_6136),hAPP(list(U_6136),fun(U_6135,option(U_6136)),hAPP(list(U_6135),fun(list(U_6136),fun(U_6135,option(U_6136))),hAPP(fun(U_6135,option(U_6136)),fun(list(U_6135),fun(list(U_6136),fun(U_6135,option(U_6136)))),map_upds(U_6135,U_6136),U_6134),U_6131),U_6133),U_6132) = hAPP(U_6135,option(U_6136),U_6134,U_6132)
      | hBOOL(hAPP(fun(U_6135,bool),bool,hAPP(U_6135,fun(fun(U_6135,bool),bool),member(U_6135),U_6132),hAPP(list(U_6135),fun(U_6135,bool),set(U_6135),U_6131))) ),
    inference(variable_rename,[status(thm)],[f_1082_1]) ).

cnf(f_1082_3,plain,
    ( hAPP(U_6135,option(U_6136),hAPP(list(U_6136),fun(U_6135,option(U_6136)),hAPP(list(U_6135),fun(list(U_6136),fun(U_6135,option(U_6136))),hAPP(fun(U_6135,option(U_6136)),fun(list(U_6135),fun(list(U_6136),fun(U_6135,option(U_6136)))),map_upds(U_6135,U_6136),U_6134),U_6131),U_6133),U_6132) = hAPP(U_6135,option(U_6136),U_6134,U_6132)
    | hBOOL(hAPP(fun(U_6135,bool),bool,hAPP(U_6135,fun(fun(U_6135,bool),bool),member(U_6135),U_6132),hAPP(list(U_6135),fun(U_6135,bool),set(U_6135),U_6131))) ),
    inference(clausify,[status(thm)],[f_1082_2]) ).

fof(f_1083_1,plain,
    ! [X_a,X_1,Y_1,R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
            | ti(X_a,X_1) = ti(X_a,Y_1) )
          & ti(X_a,X_1) != ti(X_a,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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
          & ti(X_a,X_1) != ti(X_a,Y_1) )
        | ti(X_a,X_1) = ti(X_a,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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ),
    inference(fof_nnf,[status(thm)],[fact_935_rtrancl__eq__or__trancl]) ).

fof(f_1083_2,plain,
    ! [U_6140,U_6139,U_6138,U_6137] :
      ( ( hBOOL(hAPP(fun(product_prod(U_6140,U_6140),bool),bool,hAPP(product_prod(U_6140,U_6140),fun(fun(product_prod(U_6140,U_6140),bool),bool),member(product_prod(U_6140,U_6140)),hAPP(U_6140,product_prod(U_6140,U_6140),hAPP(U_6140,fun(U_6140,product_prod(U_6140,U_6140)),product_Pair(U_6140,U_6140),U_6139),U_6138)),hAPP(fun(product_prod(U_6140,U_6140),bool),fun(product_prod(U_6140,U_6140),bool),transitive_rtrancl(U_6140),U_6137)))
        | ( ( ~ hBOOL(hAPP(fun(product_prod(U_6140,U_6140),bool),bool,hAPP(product_prod(U_6140,U_6140),fun(fun(product_prod(U_6140,U_6140),bool),bool),member(product_prod(U_6140,U_6140)),hAPP(U_6140,product_prod(U_6140,U_6140),hAPP(U_6140,fun(U_6140,product_prod(U_6140,U_6140)),product_Pair(U_6140,U_6140),U_6139),U_6138)),hAPP(fun(product_prod(U_6140,U_6140),bool),fun(product_prod(U_6140,U_6140),bool),transitive_trancl(U_6140),U_6137)))
            | ti(U_6140,U_6139) = ti(U_6140,U_6138) )
          & ti(U_6140,U_6139) != ti(U_6140,U_6138) ) )
      & ( ( hBOOL(hAPP(fun(product_prod(U_6140,U_6140),bool),bool,hAPP(product_prod(U_6140,U_6140),fun(fun(product_prod(U_6140,U_6140),bool),bool),member(product_prod(U_6140,U_6140)),hAPP(U_6140,product_prod(U_6140,U_6140),hAPP(U_6140,fun(U_6140,product_prod(U_6140,U_6140)),product_Pair(U_6140,U_6140),U_6139),U_6138)),hAPP(fun(product_prod(U_6140,U_6140),bool),fun(product_prod(U_6140,U_6140),bool),transitive_trancl(U_6140),U_6137)))
          & ti(U_6140,U_6139) != ti(U_6140,U_6138) )
        | ti(U_6140,U_6139) = ti(U_6140,U_6138)
        | ~ hBOOL(hAPP(fun(product_prod(U_6140,U_6140),bool),bool,hAPP(product_prod(U_6140,U_6140),fun(fun(product_prod(U_6140,U_6140),bool),bool),member(product_prod(U_6140,U_6140)),hAPP(U_6140,product_prod(U_6140,U_6140),hAPP(U_6140,fun(U_6140,product_prod(U_6140,U_6140)),product_Pair(U_6140,U_6140),U_6139),U_6138)),hAPP(fun(product_prod(U_6140,U_6140),bool),fun(product_prod(U_6140,U_6140),bool),transitive_rtrancl(U_6140),U_6137))) ) ),
    inference(variable_rename,[status(thm)],[f_1083_1]) ).

fof(f_1083_3,plain,
    ( ! [U_6148,U_6146,U_6144,U_6142] :
        ( hBOOL(hAPP(fun(product_prod(U_6148,U_6148),bool),bool,hAPP(product_prod(U_6148,U_6148),fun(fun(product_prod(U_6148,U_6148),bool),bool),member(product_prod(U_6148,U_6148)),hAPP(U_6148,product_prod(U_6148,U_6148),hAPP(U_6148,fun(U_6148,product_prod(U_6148,U_6148)),product_Pair(U_6148,U_6148),U_6146),U_6144)),hAPP(fun(product_prod(U_6148,U_6148),bool),fun(product_prod(U_6148,U_6148),bool),transitive_rtrancl(U_6148),U_6142)))
        | ( ( ~ hBOOL(hAPP(fun(product_prod(U_6148,U_6148),bool),bool,hAPP(product_prod(U_6148,U_6148),fun(fun(product_prod(U_6148,U_6148),bool),bool),member(product_prod(U_6148,U_6148)),hAPP(U_6148,product_prod(U_6148,U_6148),hAPP(U_6148,fun(U_6148,product_prod(U_6148,U_6148)),product_Pair(U_6148,U_6148),U_6146),U_6144)),hAPP(fun(product_prod(U_6148,U_6148),bool),fun(product_prod(U_6148,U_6148),bool),transitive_trancl(U_6148),U_6142)))
            | ti(U_6148,U_6146) = ti(U_6148,U_6144) )
          & ti(U_6148,U_6146) != ti(U_6148,U_6144) ) )
    & ! [U_6147,U_6145,U_6143,U_6141] :
        ( ( hBOOL(hAPP(fun(product_prod(U_6147,U_6147),bool),bool,hAPP(product_prod(U_6147,U_6147),fun(fun(product_prod(U_6147,U_6147),bool),bool),member(product_prod(U_6147,U_6147)),hAPP(U_6147,product_prod(U_6147,U_6147),hAPP(U_6147,fun(U_6147,product_prod(U_6147,U_6147)),product_Pair(U_6147,U_6147),U_6145),U_6143)),hAPP(fun(product_prod(U_6147,U_6147),bool),fun(product_prod(U_6147,U_6147),bool),transitive_trancl(U_6147),U_6141)))
          & ti(U_6147,U_6145) != ti(U_6147,U_6143) )
        | ti(U_6147,U_6145) = ti(U_6147,U_6143)
        | ~ hBOOL(hAPP(fun(product_prod(U_6147,U_6147),bool),bool,hAPP(product_prod(U_6147,U_6147),fun(fun(product_prod(U_6147,U_6147),bool),bool),member(product_prod(U_6147,U_6147)),hAPP(U_6147,product_prod(U_6147,U_6147),hAPP(U_6147,fun(U_6147,product_prod(U_6147,U_6147)),product_Pair(U_6147,U_6147),U_6145),U_6143)),hAPP(fun(product_prod(U_6147,U_6147),bool),fun(product_prod(U_6147,U_6147),bool),transitive_rtrancl(U_6147),U_6141))) ) ),
    inference(miniscope,[status(thm)],[f_1083_2]) ).

cnf(f_1083_4,plain,
    ( ti(U_6147,U_6145) != ti(U_6147,U_6143)
    | ti(U_6147,U_6145) = ti(U_6147,U_6143)
    | ~ hBOOL(hAPP(fun(product_prod(U_6147,U_6147),bool),bool,hAPP(product_prod(U_6147,U_6147),fun(fun(product_prod(U_6147,U_6147),bool),bool),member(product_prod(U_6147,U_6147)),hAPP(U_6147,product_prod(U_6147,U_6147),hAPP(U_6147,fun(U_6147,product_prod(U_6147,U_6147)),product_Pair(U_6147,U_6147),U_6145),U_6143)),hAPP(fun(product_prod(U_6147,U_6147),bool),fun(product_prod(U_6147,U_6147),bool),transitive_rtrancl(U_6147),U_6141))) ),
    inference(clausify,[status(thm)],[f_1083_3]) ).

cnf(f_1083_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6147,U_6147),bool),bool,hAPP(product_prod(U_6147,U_6147),fun(fun(product_prod(U_6147,U_6147),bool),bool),member(product_prod(U_6147,U_6147)),hAPP(U_6147,product_prod(U_6147,U_6147),hAPP(U_6147,fun(U_6147,product_prod(U_6147,U_6147)),product_Pair(U_6147,U_6147),U_6145),U_6143)),hAPP(fun(product_prod(U_6147,U_6147),bool),fun(product_prod(U_6147,U_6147),bool),transitive_trancl(U_6147),U_6141)))
    | ti(U_6147,U_6145) = ti(U_6147,U_6143)
    | ~ hBOOL(hAPP(fun(product_prod(U_6147,U_6147),bool),bool,hAPP(product_prod(U_6147,U_6147),fun(fun(product_prod(U_6147,U_6147),bool),bool),member(product_prod(U_6147,U_6147)),hAPP(U_6147,product_prod(U_6147,U_6147),hAPP(U_6147,fun(U_6147,product_prod(U_6147,U_6147)),product_Pair(U_6147,U_6147),U_6145),U_6143)),hAPP(fun(product_prod(U_6147,U_6147),bool),fun(product_prod(U_6147,U_6147),bool),transitive_rtrancl(U_6147),U_6141))) ),
    inference(clausify,[status(thm)],[f_1083_3]) ).

cnf(f_1083_6,plain,
    ( ti(U_6148,U_6146) != ti(U_6148,U_6144)
    | hBOOL(hAPP(fun(product_prod(U_6148,U_6148),bool),bool,hAPP(product_prod(U_6148,U_6148),fun(fun(product_prod(U_6148,U_6148),bool),bool),member(product_prod(U_6148,U_6148)),hAPP(U_6148,product_prod(U_6148,U_6148),hAPP(U_6148,fun(U_6148,product_prod(U_6148,U_6148)),product_Pair(U_6148,U_6148),U_6146),U_6144)),hAPP(fun(product_prod(U_6148,U_6148),bool),fun(product_prod(U_6148,U_6148),bool),transitive_rtrancl(U_6148),U_6142))) ),
    inference(clausify,[status(thm)],[f_1083_3]) ).

cnf(f_1083_7,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(U_6148,U_6148),bool),bool,hAPP(product_prod(U_6148,U_6148),fun(fun(product_prod(U_6148,U_6148),bool),bool),member(product_prod(U_6148,U_6148)),hAPP(U_6148,product_prod(U_6148,U_6148),hAPP(U_6148,fun(U_6148,product_prod(U_6148,U_6148)),product_Pair(U_6148,U_6148),U_6146),U_6144)),hAPP(fun(product_prod(U_6148,U_6148),bool),fun(product_prod(U_6148,U_6148),bool),transitive_trancl(U_6148),U_6142)))
    | ti(U_6148,U_6146) = ti(U_6148,U_6144)
    | hBOOL(hAPP(fun(product_prod(U_6148,U_6148),bool),bool,hAPP(product_prod(U_6148,U_6148),fun(fun(product_prod(U_6148,U_6148),bool),bool),member(product_prod(U_6148,U_6148)),hAPP(U_6148,product_prod(U_6148,U_6148),hAPP(U_6148,fun(U_6148,product_prod(U_6148,U_6148)),product_Pair(U_6148,U_6148),U_6146),U_6144)),hAPP(fun(product_prod(U_6148,U_6148),bool),fun(product_prod(U_6148,U_6148),bool),transitive_rtrancl(U_6148),U_6142))) ),
    inference(clausify,[status(thm)],[f_1083_3]) ).

fof(f_1084_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_936_rtrancl__into__trancl2]) ).

fof(f_1084_2,plain,
    ! [U_6153,U_6152,U_6151,U_6150,U_6149] :
      ( hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6151),U_6152)),hAPP(fun(product_prod(U_6153,U_6153),bool),fun(product_prod(U_6153,U_6153),bool),transitive_trancl(U_6153),U_6149)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6150),U_6152)),hAPP(fun(product_prod(U_6153,U_6153),bool),fun(product_prod(U_6153,U_6153),bool),transitive_rtrancl(U_6153),U_6149)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6151),U_6150)),U_6149)) ),
    inference(variable_rename,[status(thm)],[f_1084_1]) ).

cnf(f_1084_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6151),U_6152)),hAPP(fun(product_prod(U_6153,U_6153),bool),fun(product_prod(U_6153,U_6153),bool),transitive_trancl(U_6153),U_6149)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6150),U_6152)),hAPP(fun(product_prod(U_6153,U_6153),bool),fun(product_prod(U_6153,U_6153),bool),transitive_rtrancl(U_6153),U_6149)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6153,U_6153),bool),bool,hAPP(product_prod(U_6153,U_6153),fun(fun(product_prod(U_6153,U_6153),bool),bool),member(product_prod(U_6153,U_6153)),hAPP(U_6153,product_prod(U_6153,U_6153),hAPP(U_6153,fun(U_6153,product_prod(U_6153,U_6153)),product_Pair(U_6153,U_6153),U_6151),U_6150)),U_6149)) ),
    inference(clausify,[status(thm)],[f_1084_2]) ).

fof(f_1085_1,plain,
    ! [X_a,A_1,B,R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
        & ti(X_a,A_1) != ti(X_a,B) )
      | ti(X_a,A_1) = 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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ),
    inference(fof_nnf,[status(thm)],[fact_937_rtranclD]) ).

fof(f_1085_2,plain,
    ! [U_6157,U_6156,U_6155,U_6154] :
      ( ( hBOOL(hAPP(fun(product_prod(U_6157,U_6157),bool),bool,hAPP(product_prod(U_6157,U_6157),fun(fun(product_prod(U_6157,U_6157),bool),bool),member(product_prod(U_6157,U_6157)),hAPP(U_6157,product_prod(U_6157,U_6157),hAPP(U_6157,fun(U_6157,product_prod(U_6157,U_6157)),product_Pair(U_6157,U_6157),U_6156),U_6155)),hAPP(fun(product_prod(U_6157,U_6157),bool),fun(product_prod(U_6157,U_6157),bool),transitive_trancl(U_6157),U_6154)))
        & ti(U_6157,U_6156) != ti(U_6157,U_6155) )
      | ti(U_6157,U_6156) = ti(U_6157,U_6155)
      | ~ hBOOL(hAPP(fun(product_prod(U_6157,U_6157),bool),bool,hAPP(product_prod(U_6157,U_6157),fun(fun(product_prod(U_6157,U_6157),bool),bool),member(product_prod(U_6157,U_6157)),hAPP(U_6157,product_prod(U_6157,U_6157),hAPP(U_6157,fun(U_6157,product_prod(U_6157,U_6157)),product_Pair(U_6157,U_6157),U_6156),U_6155)),hAPP(fun(product_prod(U_6157,U_6157),bool),fun(product_prod(U_6157,U_6157),bool),transitive_rtrancl(U_6157),U_6154))) ),
    inference(variable_rename,[status(thm)],[f_1085_1]) ).

cnf(f_1085_3,plain,
    ( ti(U_6157,U_6156) != ti(U_6157,U_6155)
    | ti(U_6157,U_6156) = ti(U_6157,U_6155)
    | ~ hBOOL(hAPP(fun(product_prod(U_6157,U_6157),bool),bool,hAPP(product_prod(U_6157,U_6157),fun(fun(product_prod(U_6157,U_6157),bool),bool),member(product_prod(U_6157,U_6157)),hAPP(U_6157,product_prod(U_6157,U_6157),hAPP(U_6157,fun(U_6157,product_prod(U_6157,U_6157)),product_Pair(U_6157,U_6157),U_6156),U_6155)),hAPP(fun(product_prod(U_6157,U_6157),bool),fun(product_prod(U_6157,U_6157),bool),transitive_rtrancl(U_6157),U_6154))) ),
    inference(clausify,[status(thm)],[f_1085_2]) ).

cnf(f_1085_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6157,U_6157),bool),bool,hAPP(product_prod(U_6157,U_6157),fun(fun(product_prod(U_6157,U_6157),bool),bool),member(product_prod(U_6157,U_6157)),hAPP(U_6157,product_prod(U_6157,U_6157),hAPP(U_6157,fun(U_6157,product_prod(U_6157,U_6157)),product_Pair(U_6157,U_6157),U_6156),U_6155)),hAPP(fun(product_prod(U_6157,U_6157),bool),fun(product_prod(U_6157,U_6157),bool),transitive_trancl(U_6157),U_6154)))
    | ti(U_6157,U_6156) = ti(U_6157,U_6155)
    | ~ hBOOL(hAPP(fun(product_prod(U_6157,U_6157),bool),bool,hAPP(product_prod(U_6157,U_6157),fun(fun(product_prod(U_6157,U_6157),bool),bool),member(product_prod(U_6157,U_6157)),hAPP(U_6157,product_prod(U_6157,U_6157),hAPP(U_6157,fun(U_6157,product_prod(U_6157,U_6157)),product_Pair(U_6157,U_6157),U_6156),U_6155)),hAPP(fun(product_prod(U_6157,U_6157),bool),fun(product_prod(U_6157,U_6157),bool),transitive_rtrancl(U_6157),U_6154))) ),
    inference(clausify,[status(thm)],[f_1085_2]) ).

fof(f_1086_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_938_rtrancl__into__trancl1]) ).

fof(f_1086_2,plain,
    ! [U_6162,U_6161,U_6160,U_6159,U_6158] :
      ( hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6160),U_6161)),hAPP(fun(product_prod(U_6162,U_6162),bool),fun(product_prod(U_6162,U_6162),bool),transitive_trancl(U_6162),U_6158)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6159),U_6161)),U_6158))
      | ~ hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6160),U_6159)),hAPP(fun(product_prod(U_6162,U_6162),bool),fun(product_prod(U_6162,U_6162),bool),transitive_rtrancl(U_6162),U_6158))) ),
    inference(variable_rename,[status(thm)],[f_1086_1]) ).

cnf(f_1086_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6160),U_6161)),hAPP(fun(product_prod(U_6162,U_6162),bool),fun(product_prod(U_6162,U_6162),bool),transitive_trancl(U_6162),U_6158)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6159),U_6161)),U_6158))
    | ~ hBOOL(hAPP(fun(product_prod(U_6162,U_6162),bool),bool,hAPP(product_prod(U_6162,U_6162),fun(fun(product_prod(U_6162,U_6162),bool),bool),member(product_prod(U_6162,U_6162)),hAPP(U_6162,product_prod(U_6162,U_6162),hAPP(U_6162,fun(U_6162,product_prod(U_6162,U_6162)),product_Pair(U_6162,U_6162),U_6160),U_6159)),hAPP(fun(product_prod(U_6162,U_6162),bool),fun(product_prod(U_6162,U_6162),bool),transitive_rtrancl(U_6162),U_6158))) ),
    inference(clausify,[status(thm)],[f_1086_2]) ).

fof(f_1087_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_939_trancl__rtrancl__trancl]) ).

fof(f_1087_2,plain,
    ! [U_6167,U_6166,U_6165,U_6164,U_6163] :
      ( hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6165),U_6166)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_trancl(U_6167),U_6163)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6164),U_6166)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_rtrancl(U_6167),U_6163)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6165),U_6164)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_trancl(U_6167),U_6163))) ),
    inference(variable_rename,[status(thm)],[f_1087_1]) ).

cnf(f_1087_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6165),U_6166)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_trancl(U_6167),U_6163)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6164),U_6166)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_rtrancl(U_6167),U_6163)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6167,U_6167),bool),bool,hAPP(product_prod(U_6167,U_6167),fun(fun(product_prod(U_6167,U_6167),bool),bool),member(product_prod(U_6167,U_6167)),hAPP(U_6167,product_prod(U_6167,U_6167),hAPP(U_6167,fun(U_6167,product_prod(U_6167,U_6167)),product_Pair(U_6167,U_6167),U_6165),U_6164)),hAPP(fun(product_prod(U_6167,U_6167),bool),fun(product_prod(U_6167,U_6167),bool),transitive_trancl(U_6167),U_6163))) ),
    inference(clausify,[status(thm)],[f_1087_2]) ).

fof(f_1088_1,plain,
    ! [X_a,Z_1,X_1,Y_1,R_2] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),Y_1),Z_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_940_rtrancl__trancl__trancl]) ).

fof(f_1088_2,plain,
    ! [U_6172,U_6171,U_6170,U_6169,U_6168] :
      ( hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6170),U_6171)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_trancl(U_6172),U_6168)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6169),U_6171)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_trancl(U_6172),U_6168)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6170),U_6169)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_rtrancl(U_6172),U_6168))) ),
    inference(variable_rename,[status(thm)],[f_1088_1]) ).

cnf(f_1088_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6170),U_6171)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_trancl(U_6172),U_6168)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6169),U_6171)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_trancl(U_6172),U_6168)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6172,U_6172),bool),bool,hAPP(product_prod(U_6172,U_6172),fun(fun(product_prod(U_6172,U_6172),bool),bool),member(product_prod(U_6172,U_6172)),hAPP(U_6172,product_prod(U_6172,U_6172),hAPP(U_6172,fun(U_6172,product_prod(U_6172,U_6172)),product_Pair(U_6172,U_6172),U_6170),U_6169)),hAPP(fun(product_prod(U_6172,U_6172),bool),fun(product_prod(U_6172,U_6172),bool),transitive_rtrancl(U_6172),U_6168))) ),
    inference(clausify,[status(thm)],[f_1088_2]) ).

fof(f_1089_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_941_trancl__trans]) ).

fof(f_1089_2,plain,
    ! [U_6177,U_6176,U_6175,U_6174,U_6173] :
      ( hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6175),U_6176)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6174),U_6176)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6175),U_6174)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173))) ),
    inference(variable_rename,[status(thm)],[f_1089_1]) ).

cnf(f_1089_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6175),U_6176)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6174),U_6176)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6177,U_6177),bool),bool,hAPP(product_prod(U_6177,U_6177),fun(fun(product_prod(U_6177,U_6177),bool),bool),member(product_prod(U_6177,U_6177)),hAPP(U_6177,product_prod(U_6177,U_6177),hAPP(U_6177,fun(U_6177,product_prod(U_6177,U_6177)),product_Pair(U_6177,U_6177),U_6175),U_6174)),hAPP(fun(product_prod(U_6177,U_6177),bool),fun(product_prod(U_6177,U_6177),bool),transitive_trancl(U_6177),U_6173))) ),
    inference(clausify,[status(thm)],[f_1089_2]) ).

fof(f_1090_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),R_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_1),B)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_2))) ),
    inference(fof_nnf,[status(thm)],[fact_942_Transitive__Closure_Otrancl__into__trancl]) ).

fof(f_1090_2,plain,
    ! [U_6182,U_6181,U_6180,U_6179,U_6178] :
      ( hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6180),U_6181)),hAPP(fun(product_prod(U_6182,U_6182),bool),fun(product_prod(U_6182,U_6182),bool),transitive_trancl(U_6182),U_6178)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6179),U_6181)),U_6178))
      | ~ hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6180),U_6179)),hAPP(fun(product_prod(U_6182,U_6182),bool),fun(product_prod(U_6182,U_6182),bool),transitive_trancl(U_6182),U_6178))) ),
    inference(variable_rename,[status(thm)],[f_1090_1]) ).

cnf(f_1090_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6180),U_6181)),hAPP(fun(product_prod(U_6182,U_6182),bool),fun(product_prod(U_6182,U_6182),bool),transitive_trancl(U_6182),U_6178)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6179),U_6181)),U_6178))
    | ~ hBOOL(hAPP(fun(product_prod(U_6182,U_6182),bool),bool,hAPP(product_prod(U_6182,U_6182),fun(fun(product_prod(U_6182,U_6182),bool),bool),member(product_prod(U_6182,U_6182)),hAPP(U_6182,product_prod(U_6182,U_6182),hAPP(U_6182,fun(U_6182,product_prod(U_6182,U_6182)),product_Pair(U_6182,U_6182),U_6180),U_6179)),hAPP(fun(product_prod(U_6182,U_6182),bool),fun(product_prod(U_6182,U_6182),bool),transitive_trancl(U_6182),U_6178))) ),
    inference(clausify,[status(thm)],[f_1090_2]) ).

fof(f_1091_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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),B),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_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_1),B)),R_2)) ),
    inference(fof_nnf,[status(thm)],[fact_943_trancl__into__trancl2]) ).

fof(f_1091_2,plain,
    ! [U_6187,U_6186,U_6185,U_6184,U_6183] :
      ( hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6185),U_6186)),hAPP(fun(product_prod(U_6187,U_6187),bool),fun(product_prod(U_6187,U_6187),bool),transitive_trancl(U_6187),U_6183)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6184),U_6186)),hAPP(fun(product_prod(U_6187,U_6187),bool),fun(product_prod(U_6187,U_6187),bool),transitive_trancl(U_6187),U_6183)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6185),U_6184)),U_6183)) ),
    inference(variable_rename,[status(thm)],[f_1091_1]) ).

cnf(f_1091_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6185),U_6186)),hAPP(fun(product_prod(U_6187,U_6187),bool),fun(product_prod(U_6187,U_6187),bool),transitive_trancl(U_6187),U_6183)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6184),U_6186)),hAPP(fun(product_prod(U_6187,U_6187),bool),fun(product_prod(U_6187,U_6187),bool),transitive_trancl(U_6187),U_6183)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6187,U_6187),bool),bool,hAPP(product_prod(U_6187,U_6187),fun(fun(product_prod(U_6187,U_6187),bool),bool),member(product_prod(U_6187,U_6187)),hAPP(U_6187,product_prod(U_6187,U_6187),hAPP(U_6187,fun(U_6187,product_prod(U_6187,U_6187)),product_Pair(U_6187,U_6187),U_6185),U_6184)),U_6183)) ),
    inference(clausify,[status(thm)],[f_1091_2]) ).

fof(f_1092_1,plain,
    ! [X_a,C,A_1,B,R_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_1),C)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1)))
      | ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B),C)),R_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_1),B)),R_1)) ),
    inference(fof_nnf,[status(thm)],[fact_944_r__r__into__trancl]) ).

fof(f_1092_2,plain,
    ! [U_6192,U_6191,U_6190,U_6189,U_6188] :
      ( hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6190),U_6191)),hAPP(fun(product_prod(U_6192,U_6192),bool),fun(product_prod(U_6192,U_6192),bool),transitive_trancl(U_6192),U_6188)))
      | ~ hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6189),U_6191)),U_6188))
      | ~ hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6190),U_6189)),U_6188)) ),
    inference(variable_rename,[status(thm)],[f_1092_1]) ).

cnf(f_1092_3,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6190),U_6191)),hAPP(fun(product_prod(U_6192,U_6192),bool),fun(product_prod(U_6192,U_6192),bool),transitive_trancl(U_6192),U_6188)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6189),U_6191)),U_6188))
    | ~ hBOOL(hAPP(fun(product_prod(U_6192,U_6192),bool),bool,hAPP(product_prod(U_6192,U_6192),fun(fun(product_prod(U_6192,U_6192),bool),bool),member(product_prod(U_6192,U_6192)),hAPP(U_6192,product_prod(U_6192,U_6192),hAPP(U_6192,fun(U_6192,product_prod(U_6192,U_6192)),product_Pair(U_6192,U_6192),U_6190),U_6189)),U_6188)) ),
    inference(clausify,[status(thm)],[f_1092_2]) ).

fof(f_1093_1,plain,
    ! [X_a,Wf_md,C_1,D_2,Pa] :
      ( ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
        & D_2 != C_1 )
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))) ),
    inference(fof_nnf,[status(thm)],[fact_945_subcls1__wfD]) ).

fof(f_1093_2,plain,
    ! [U_6197,U_6196,U_6195,U_6194,U_6193] :
      ( ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6194),U_6195)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6197),U_6193))))
        & U_6194 != U_6195 )
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),bool,hAPP(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,U_6197)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197))),bool))),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,U_6197)))))))),bool),wf_prog(U_6197),U_6196),U_6193))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6195),U_6194)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6197),U_6193))) ),
    inference(variable_rename,[status(thm)],[f_1093_1]) ).

cnf(f_1093_3,plain,
    ( U_6194 != U_6195
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),bool,hAPP(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,U_6197)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197))),bool))),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,U_6197)))))))),bool),wf_prog(U_6197),U_6196),U_6193))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6195),U_6194)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6197),U_6193))) ),
    inference(clausify,[status(thm)],[f_1093_2]) ).

cnf(f_1093_4,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6194),U_6195)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6197),U_6193))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),bool,hAPP(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,U_6197)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197))),bool))),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,U_6197)))))))),bool),wf_prog(U_6197),U_6196),U_6193))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6195),U_6194)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6197)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6197),U_6193))) ),
    inference(clausify,[status(thm)],[f_1093_2]) ).

fof(f_1094_1,plain,
    ! [X_a,C_1,D_2,Wf_md,Pa] :
      ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),D_2),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_946_subcls__asym]) ).

fof(f_1094_2,plain,
    ! [U_6202,U_6201,U_6200,U_6199,U_6198] :
      ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6200),U_6201)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6202),U_6198))))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6201),U_6200)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6202),U_6198))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),bool,hAPP(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,U_6202)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202))),bool))),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,U_6202)))))))),bool),wf_prog(U_6202),U_6199),U_6198)) ),
    inference(variable_rename,[status(thm)],[f_1094_1]) ).

cnf(f_1094_3,plain,
    ( ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6200),U_6201)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6202),U_6198))))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6201),U_6200)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6202),U_6198))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202)))))))),bool,hAPP(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,U_6202)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6202))),bool))),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,U_6202)))))))),bool),wf_prog(U_6202),U_6199),U_6198)) ),
    inference(clausify,[status(thm)],[f_1094_2]) ).

fof(f_1095_1,plain,
    ! [X_a,C_1,D_2,Wf_md,Pa] :
      ( C_1 != D_2
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_1),D_2)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_947_subcls__irrefl]) ).

fof(f_1095_2,plain,
    ! [U_6207,U_6206,U_6205,U_6204,U_6203] :
      ( U_6206 != U_6205
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6206),U_6205)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6207),U_6203))))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207)))))))),bool,hAPP(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,U_6207)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207))),bool))),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,U_6207)))))))),bool),wf_prog(U_6207),U_6204),U_6203)) ),
    inference(variable_rename,[status(thm)],[f_1095_1]) ).

cnf(f_1095_3,plain,
    ( U_6206 != U_6205
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6206),U_6205)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6207),U_6203))))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207)))))))),bool,hAPP(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,U_6207)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6207))),bool))),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,U_6207)))))))),bool),wf_prog(U_6207),U_6204),U_6203)) ),
    inference(clausify,[status(thm)],[f_1095_2]) ).

fof(f_1096_1,plain,
    ! [E_b,H_3,L_3,L_2_1,M,Ts,Ta,Pns,Body,D_2,C_1,Fs,Ps,Vs_1,H_2,L_2,Pa,Eb,S_0,A_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(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Ps)),S_0),E_b),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_3),L_2)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Body),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2_1)),E_b),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_3),L_3)))
      | L_2_1 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,A_1)))),Pns),Vs_1)
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),H_2,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))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,Pa),Ps),S_1),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1)),hAPP(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(val)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_Pair(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),H_2),L_2)))
      | ~ 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),Eb),S_0),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),S_1)) ),
    inference(fof_nnf,[status(thm)],[fact_948_Call]) ).

fof(f_1096_2,plain,
    ! [U_6228,U_6227,U_6226,U_6225,U_6224,U_6223,U_6222,U_6221,U_6220,U_6219,U_6218,U_6217,U_6216,U_6215,U_6214,U_6213,U_6212,U_6211,U_6210,U_6209,U_6208] :
      ( 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,U_6212),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6211),U_6224),U_6216)),U_6210),U_6228),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))),U_6227),U_6213)))
      | ~ 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,U_6212),U_6220),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))),U_6214),U_6225)),U_6228),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))),U_6227),U_6226)))
      | U_6225 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_6209)))),U_6221),U_6215)
      | hAPP(list(val),nat,size_size(list(val)),U_6215) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6221)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6212),U_6218),U_6224),U_6223),U_6222),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6221),U_6220)),U_6219))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_6214,U_6209) != 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))),U_6218),U_6217))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_6212),U_6216),U_6208),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))),U_6215)),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))),U_6214),U_6213)))
      | ~ 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,U_6212),U_6211),U_6210),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6209))),U_6208)) ),
    inference(variable_rename,[status(thm)],[f_1096_1]) ).

cnf(f_1096_3,plain,
    ( 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,U_6212),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6211),U_6224),U_6216)),U_6210),U_6228),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))),U_6227),U_6213)))
    | ~ 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,U_6212),U_6220),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))),U_6214),U_6225)),U_6228),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))),U_6227),U_6226)))
    | U_6225 != 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),hAPP(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),hAPP(option(val),fun(list(char),option(val)),combk(option(val),list(char)),none(val))),this),hAPP(val,option(val),some(val),hAPP(nat,val,addr,U_6209)))),U_6221),U_6215)
    | hAPP(list(val),nat,size_size(list(val)),U_6215) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6221)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6212),U_6218),U_6224),U_6223),U_6222),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6221),U_6220)),U_6219))
    | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),U_6214,U_6209) != 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))),U_6218),U_6217))
    | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(list(exp(list(char))),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),evals,U_6212),U_6216),U_6208),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))),U_6215)),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))),U_6214),U_6213)))
    | ~ 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,U_6212),U_6211),U_6210),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6209))),U_6208)) ),
    inference(clausify,[status(thm)],[f_1096_2]) ).

fof(f_1097_1,plain,
    ! [X_b,X_a,M_1,A_1,As,B,Bs] : hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),As)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),B),Bs)) = hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs),
    inference(fof_nnf,[status(thm)],[fact_949_map__upds__Cons]) ).

fof(f_1097_2,plain,
    ! [U_6235,U_6234,U_6233,U_6232,U_6231,U_6230,U_6229] : hAPP(list(U_6235),fun(U_6234,option(U_6235)),hAPP(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235)))),map_upds(U_6234,U_6235),U_6233),hAPP(list(U_6234),list(U_6234),hAPP(U_6234,fun(list(U_6234),list(U_6234)),cons(U_6234),U_6232),U_6231)),hAPP(list(U_6235),list(U_6235),hAPP(U_6235,fun(list(U_6235),list(U_6235)),cons(U_6235),U_6230),U_6229)) = hAPP(list(U_6235),fun(U_6234,option(U_6235)),hAPP(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235)))),map_upds(U_6234,U_6235),hAPP(option(U_6235),fun(U_6234,option(U_6235)),hAPP(U_6234,fun(option(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(U_6234,fun(option(U_6235),fun(U_6234,option(U_6235)))),fun_upd(U_6234,option(U_6235)),U_6233),U_6232),hAPP(U_6235,option(U_6235),some(U_6235),U_6230))),U_6231),U_6229),
    inference(variable_rename,[status(thm)],[f_1097_1]) ).

cnf(f_1097_3,plain,
    hAPP(list(U_6235),fun(U_6234,option(U_6235)),hAPP(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235)))),map_upds(U_6234,U_6235),U_6233),hAPP(list(U_6234),list(U_6234),hAPP(U_6234,fun(list(U_6234),list(U_6234)),cons(U_6234),U_6232),U_6231)),hAPP(list(U_6235),list(U_6235),hAPP(U_6235,fun(list(U_6235),list(U_6235)),cons(U_6235),U_6230),U_6229)) = hAPP(list(U_6235),fun(U_6234,option(U_6235)),hAPP(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(list(U_6234),fun(list(U_6235),fun(U_6234,option(U_6235)))),map_upds(U_6234,U_6235),hAPP(option(U_6235),fun(U_6234,option(U_6235)),hAPP(U_6234,fun(option(U_6235),fun(U_6234,option(U_6235))),hAPP(fun(U_6234,option(U_6235)),fun(U_6234,fun(option(U_6235),fun(U_6234,option(U_6235)))),fun_upd(U_6234,option(U_6235)),U_6233),U_6232),hAPP(U_6235,option(U_6235),some(U_6235),U_6230))),U_6231),U_6229),
    inference(clausify,[status(thm)],[f_1097_2]) ).

fof(f_1098_1,plain,
    ! [X_b,X_a,M_1,B,Bs,A_1,As] :
      ( hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),M_1),A_1),hAPP(X_b,option(X_b),some(X_b),B))),As),Bs) = hAPP(option(X_b),fun(X_a,option(X_b)),hAPP(X_a,fun(option(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(X_a,fun(option(X_b),fun(X_a,option(X_b)))),fun_upd(X_a,option(X_b)),hAPP(list(X_b),fun(X_a,option(X_b)),hAPP(list(X_a),fun(list(X_b),fun(X_a,option(X_b))),hAPP(fun(X_a,option(X_b)),fun(list(X_a),fun(list(X_b),fun(X_a,option(X_b)))),map_upds(X_a,X_b),M_1),As),Bs)),A_1),hAPP(X_b,option(X_b),some(X_b),B))
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),As))) ),
    inference(fof_nnf,[status(thm)],[fact_950_map__upds__twist]) ).

fof(f_1098_2,plain,
    ! [U_6242,U_6241,U_6240,U_6239,U_6238,U_6237,U_6236] :
      ( hAPP(list(U_6242),fun(U_6241,option(U_6242)),hAPP(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242)))),map_upds(U_6241,U_6242),hAPP(option(U_6242),fun(U_6241,option(U_6242)),hAPP(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242)))),fun_upd(U_6241,option(U_6242)),U_6240),U_6237),hAPP(U_6242,option(U_6242),some(U_6242),U_6239))),U_6236),U_6238) = hAPP(option(U_6242),fun(U_6241,option(U_6242)),hAPP(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242)))),fun_upd(U_6241,option(U_6242)),hAPP(list(U_6242),fun(U_6241,option(U_6242)),hAPP(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242)))),map_upds(U_6241,U_6242),U_6240),U_6236),U_6238)),U_6237),hAPP(U_6242,option(U_6242),some(U_6242),U_6239))
      | hBOOL(hAPP(fun(U_6241,bool),bool,hAPP(U_6241,fun(fun(U_6241,bool),bool),member(U_6241),U_6237),hAPP(list(U_6241),fun(U_6241,bool),set(U_6241),U_6236))) ),
    inference(variable_rename,[status(thm)],[f_1098_1]) ).

cnf(f_1098_3,plain,
    ( hAPP(list(U_6242),fun(U_6241,option(U_6242)),hAPP(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242)))),map_upds(U_6241,U_6242),hAPP(option(U_6242),fun(U_6241,option(U_6242)),hAPP(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242)))),fun_upd(U_6241,option(U_6242)),U_6240),U_6237),hAPP(U_6242,option(U_6242),some(U_6242),U_6239))),U_6236),U_6238) = hAPP(option(U_6242),fun(U_6241,option(U_6242)),hAPP(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(U_6241,fun(option(U_6242),fun(U_6241,option(U_6242)))),fun_upd(U_6241,option(U_6242)),hAPP(list(U_6242),fun(U_6241,option(U_6242)),hAPP(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242))),hAPP(fun(U_6241,option(U_6242)),fun(list(U_6241),fun(list(U_6242),fun(U_6241,option(U_6242)))),map_upds(U_6241,U_6242),U_6240),U_6236),U_6238)),U_6237),hAPP(U_6242,option(U_6242),some(U_6242),U_6239))
    | hBOOL(hAPP(fun(U_6241,bool),bool,hAPP(U_6241,fun(fun(U_6241,bool),bool),member(U_6241),U_6237),hAPP(list(U_6241),fun(U_6241,bool),set(U_6241),U_6236))) ),
    inference(clausify,[status(thm)],[f_1098_2]) ).

fof(f_1099_1,plain,
    ! [Vs_1,Pa,M,Ts,Ta,Pns,Body,D_2,S,A_1,C_1,Fs] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D_2)),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))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_1)),Vs_1)),Body))))),S))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),red,Pa)))
      | hAPP(list(ty),nat,size_size(list(ty)),Ts) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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)) ),
    inference(fof_nnf,[status(thm)],[fact_951_red__reds_ORedCall]) ).

fof(f_1099_2,plain,
    ! [U_6254,U_6253,U_6252,U_6251,U_6250,U_6249,U_6248,U_6247,U_6246,U_6245,U_6244,U_6243] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6245))),U_6252),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))),U_6254))),U_6246)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6249)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6247)),U_6251)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6245)),U_6254)),U_6248))))),U_6246))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_6253)))
      | hAPP(list(ty),nat,size_size(list(ty)),U_6251) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
      | hAPP(list(val),nat,size_size(list(val)),U_6254) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6253),U_6244),U_6252),U_6251),U_6250),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6249),U_6248)),U_6247))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6246),U_6245) != 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))),U_6244),U_6243)) ),
    inference(variable_rename,[status(thm)],[f_1099_1]) ).

fof(f_1099_3,plain,
    ! [U_6254,U_6253,U_6252,U_6251,U_6250,U_6249,U_6248,U_6247,U_6246,U_6245,U_6244] :
      ( ! [U_6243] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6246),U_6245) != 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))),U_6244),U_6243))
      | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6245))),U_6252),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))),U_6254))),U_6246)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6249)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6247)),U_6251)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6245)),U_6254)),U_6248))))),U_6246))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_6253)))
      | hAPP(list(ty),nat,size_size(list(ty)),U_6251) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
      | hAPP(list(val),nat,size_size(list(val)),U_6254) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6253),U_6244),U_6252),U_6251),U_6250),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6249),U_6248)),U_6247)) ),
    inference(miniscope,[status(thm)],[f_1099_2]) ).

cnf(f_1099_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6246),U_6245) != 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))),U_6244),U_6243))
    | hBOOL(hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool,hAPP(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),fun(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),bool),bool),member(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),fun(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))))),product_Pair(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6245))),U_6252),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))),U_6254))),U_6246)),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6249)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6247)),U_6251)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6245)),U_6254)),U_6248))))),U_6246))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,U_6253)))
    | hAPP(list(ty),nat,size_size(list(ty)),U_6251) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
    | hAPP(list(val),nat,size_size(list(val)),U_6254) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6249)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6253),U_6244),U_6252),U_6251),U_6250),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6249),U_6248)),U_6247)) ),
    inference(clausify,[status(thm)],[f_1099_3]) ).

fof(f_1100_1,plain,
    ! [Vs_1,Pa,M,Ts,Ta,Pns,Body,D_2,S,A_1,C_1,Fs] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,Pa),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,A_1))),M),hAPP(list(val),list(exp(list(char))),hAPP(fun(val,exp(list(char))),fun(list(val),list(exp(list(char)))),map(val,exp(list(char))),val_1(list(char))),Vs_1))),S),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),Pns)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,D_2)),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))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,A_1)),Vs_1)),Body))))),S))
      | hAPP(list(ty),nat,size_size(list(ty)),Ts) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(list(char)),nat,size_size(list(list(char))),Pns)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,S),A_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)) ),
    inference(fof_nnf,[status(thm)],[fact_952_redp__redsp_ORedCall]) ).

fof(f_1100_2,plain,
    ! [U_6266,U_6265,U_6264,U_6263,U_6262,U_6261,U_6260,U_6259,U_6258,U_6257,U_6256,U_6255] :
      ( hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_6265),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6257))),U_6264),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))),U_6266))),U_6258),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6261)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6259)),U_6263)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6257)),U_6266)),U_6260))))),U_6258))
      | hAPP(list(ty),nat,size_size(list(ty)),U_6263) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
      | hAPP(list(val),nat,size_size(list(val)),U_6266) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6265),U_6256),U_6264),U_6263),U_6262),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6261),U_6260)),U_6259))
      | hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6258),U_6257) != 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))),U_6256),U_6255)) ),
    inference(variable_rename,[status(thm)],[f_1100_1]) ).

fof(f_1100_3,plain,
    ! [U_6266,U_6265,U_6264,U_6263,U_6262,U_6261,U_6260,U_6259,U_6258,U_6257,U_6256] :
      ( ! [U_6255] : hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6258),U_6257) != 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))),U_6256),U_6255))
      | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_6265),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6257))),U_6264),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))),U_6266))),U_6258),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6261)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6259)),U_6263)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6257)),U_6266)),U_6260))))),U_6258))
      | hAPP(list(ty),nat,size_size(list(ty)),U_6263) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
      | hAPP(list(val),nat,size_size(list(val)),U_6266) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6265),U_6256),U_6264),U_6263),U_6262),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6261),U_6260)),U_6259)) ),
    inference(miniscope,[status(thm)],[f_1100_2]) ).

cnf(f_1100_4,plain,
    ( hAPP(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),hp,U_6258),U_6257) != 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))),U_6256),U_6255))
    | hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),redp,U_6265),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),hAPP(val,exp(list(char)),val_1(list(char)),hAPP(nat,val,addr,U_6257))),U_6264),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))),U_6266))),U_6258),hAPP(product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),exp(list(char)),blocks,hAPP(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),fun(product_prod(list(ty),product_prod(list(val),exp(list(char)))),product_prod(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char)))))),product_Pair(list(list(char)),product_prod(list(ty),product_prod(list(val),exp(list(char))))),hAPP(list(list(char)),list(list(char)),hAPP(list(char),fun(list(list(char)),list(list(char))),cons(list(char)),this),U_6261)),hAPP(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),fun(product_prod(list(val),exp(list(char))),product_prod(list(ty),product_prod(list(val),exp(list(char))))),product_Pair(list(ty),product_prod(list(val),exp(list(char)))),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),hAPP(list(char),ty,class,U_6259)),U_6263)),hAPP(exp(list(char)),product_prod(list(val),exp(list(char))),hAPP(list(val),fun(exp(list(char)),product_prod(list(val),exp(list(char)))),product_Pair(list(val),exp(list(char))),hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),hAPP(nat,val,addr,U_6257)),U_6266)),U_6260))))),U_6258))
    | hAPP(list(ty),nat,size_size(list(ty)),U_6263) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
    | hAPP(list(val),nat,size_size(list(val)),U_6266) != hAPP(list(list(char)),nat,size_size(list(list(char))),U_6261)
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6265),U_6256),U_6264),U_6263),U_6262),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6261),U_6260)),U_6259)) ),
    inference(clausify,[status(thm)],[f_1100_3]) ).

fof(f_1101_1,plain,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),Esa) = hAPP(list(ty),nat,size_size(list(ty)),Ts)
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_953_WTrts__same__length]) ).

fof(f_1101_2,plain,
    ! [U_6271,U_6270,U_6269,U_6268,U_6267] :
      ( hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),U_6268) = hAPP(list(ty),nat,size_size(list(ty)),U_6267)
      | ~ 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_1,U_6271),U_6270),U_6269),U_6268),U_6267)) ),
    inference(variable_rename,[status(thm)],[f_1101_1]) ).

cnf(f_1101_3,plain,
    ( hAPP(list(exp(list(char))),nat,size_size(list(exp(list(char)))),U_6268) = hAPP(list(ty),nat,size_size(list(ty)),U_6267)
    | ~ 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_1,U_6271),U_6270),U_6269),U_6268),U_6267)) ),
    inference(clausify,[status(thm)],[f_1101_2]) ).

fof(f_1102_1,plain,
    ! [Hb,Lb,Pa,Eb,Vs_1,Vs,Ts] :
      ( 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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),Eb),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))),Hb),Lb)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)),Eb))
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(ty),nat,size_size(list(ty)),Ts)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) != hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    inference(fof_nnf,[status(thm)],[fact_954_blocksFinal]) ).

fof(f_1102_2,plain,
    ! [U_6278,U_6277,U_6276,U_6275,U_6274,U_6273,U_6272] :
      ( 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))))),U_6273),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)))),U_6272),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))),U_6274),U_6275))))),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))),U_6278),U_6277))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6275),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))),U_6278),U_6277)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6276))))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6275))
      | hAPP(list(val),nat,size_size(list(val)),U_6274) != hAPP(list(ty),nat,size_size(list(ty)),U_6272)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6273) != hAPP(list(ty),nat,size_size(list(ty)),U_6272) ),
    inference(variable_rename,[status(thm)],[f_1102_1]) ).

cnf(f_1102_3,plain,
    ( 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))))),U_6273),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)))),U_6272),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))),U_6274),U_6275))))),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))),U_6278),U_6277))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6275),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))),U_6278),U_6277)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6276))))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6275))
    | hAPP(list(val),nat,size_size(list(val)),U_6274) != hAPP(list(ty),nat,size_size(list(ty)),U_6272)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6273) != hAPP(list(ty),nat,size_size(list(ty)),U_6272) ),
    inference(clausify,[status(thm)],[f_1102_2]) ).

fof(f_1103_1,plain,
    ! [Pa,Eb,Hb,Lb,E_b,H_b,L_b,Vs_1,Ps,Ts] :
      ( ? [L_1] : hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),Eb),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))),Hb),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),Lb),Ps),Vs_1))),E_b),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_b),L_1)))
      | ~ hBOOL(hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool,hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),fun(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),bool)))),eval,Pa),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)))),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_1),Eb))))),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))),Hb),Lb)),E_b),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_b),L_b)))
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Ps) != hAPP(list(val),nat,size_size(list(val)),Vs_1)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Ps) != hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    inference(fof_nnf,[status(thm)],[fact_955_blocksEval]) ).

fof(f_1103_2,plain,
    ! [U_6289,U_6288,U_6287,U_6286,U_6285,U_6284,U_6283,U_6282,U_6281,U_6280] :
      ( ? [U_6279] : 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,U_6289),U_6288),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))),U_6287),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),U_6286),U_6281),U_6282))),U_6285),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))),U_6284),U_6279)))
      | ~ 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,U_6289),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))))),U_6281),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)))),U_6280),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))),U_6282),U_6288))))),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))),U_6287),U_6286)),U_6285),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))),U_6284),U_6283)))
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(val),nat,size_size(list(val)),U_6282)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(ty),nat,size_size(list(ty)),U_6280) ),
    inference(variable_rename,[status(thm)],[f_1103_1]) ).

fof(f_1103_3,plain,
    ! [U_6289,U_6288,U_6287,U_6286,U_6285,U_6284,U_6283,U_6282,U_6281,U_6280] :
      ( 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,U_6289),U_6288),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))),U_6287),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),U_6286),U_6281),U_6282))),U_6285),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))),U_6284),sK239(U_6289,U_6288,U_6287,U_6286,U_6285,U_6284,U_6283,U_6282,U_6281,U_6280))))
      | ~ 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,U_6289),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))))),U_6281),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)))),U_6280),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))),U_6282),U_6288))))),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))),U_6287),U_6286)),U_6285),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))),U_6284),U_6283)))
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(val),nat,size_size(list(val)),U_6282)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(ty),nat,size_size(list(ty)),U_6280) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK239]),skolemize(U_6279,sK239(U_6289,U_6288,U_6287,U_6286,U_6285,U_6284,U_6283,U_6282,U_6281,U_6280))],[f_1103_2]) ).

cnf(f_1103_4,plain,
    ( 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,U_6289),U_6288),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))),U_6287),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),U_6286),U_6281),U_6282))),U_6285),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))),U_6284),sK239(U_6289,U_6288,U_6287,U_6286,U_6285,U_6284,U_6283,U_6282,U_6281,U_6280))))
    | ~ 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,U_6289),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))))),U_6281),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)))),U_6280),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))),U_6282),U_6288))))),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))),U_6287),U_6286)),U_6285),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))),U_6284),U_6283)))
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(val),nat,size_size(list(val)),U_6282)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6281) != hAPP(list(ty),nat,size_size(list(ty)),U_6280) ),
    inference(clausify,[status(thm)],[f_1103_3]) ).

fof(f_1104_1,plain,
    ! [Pa,Hb,Ea,Eb,Ta,Vs_1,Vs,Ts] :
      ( ( ( 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_1,Pa),Hb),Ea),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),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_1),Eb))))),Ta))
          | ! [Ts_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_3),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,Hb)),Vs_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_3) )
          | ~ 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_1,Pa),Hb),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),Ea),Vs),Ts)),Eb),Ta)) )
        & ( ( ? [Ts_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,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_3),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,Hb)),Vs_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_3) )
            & 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_1,Pa),Hb),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),Ea),Vs),Ts)),Eb),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_1,Pa),Hb),Ea),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),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_1),Eb))))),Ta)) ) )
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(ty),nat,size_size(list(ty)),Ts)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) != hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    inference(fof_nnf,[status(thm)],[fact_956_wt__blocks]) ).

fof(f_1104_2,plain,
    ! [U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292] :
      ( ( ( 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
          | ! [U_6291] :
              ( ~ 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)))),U_6299)),U_6291),U_6292))
              | 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,U_6298)),U_6294) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6291) )
          | ~ 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295)) )
        & ( ( ? [U_6290] :
                ( 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)))),U_6299)),U_6290),U_6292))
                & 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,U_6298)),U_6294) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6290) )
            & 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295)) )
          | ~ 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295)) ) )
      | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(variable_rename,[status(thm)],[f_1104_1]) ).

fof(f_1104_3,plain,
    ! [U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292] :
      ( ( ( 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
          | ! [U_6291] :
              ( ~ 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)))),U_6299)),U_6291),U_6292))
              | 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,U_6298)),U_6294) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6291) )
          | ~ 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295)) )
        & ( ( 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)))),U_6299)),sK240(U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292)),U_6292))
            & 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,U_6298)),U_6294) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),sK240(U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292))
            & 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295)) )
          | ~ 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295)) ) )
      | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK240]),skolemize(U_6290,sK240(U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292))],[f_1104_2]) ).

cnf(f_1104_4,plain,
    ( 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295))
    | ~ 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
    | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(clausify,[status(thm)],[f_1104_3]) ).

cnf(f_1104_5,plain,
    ( 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,U_6298)),U_6294) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),sK240(U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292))
    | ~ 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
    | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(clausify,[status(thm)],[f_1104_3]) ).

cnf(f_1104_6,plain,
    ( 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)))),U_6299)),sK240(U_6299,U_6298,U_6297,U_6296,U_6295,U_6294,U_6293,U_6292)),U_6292))
    | ~ 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
    | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(clausify,[status(thm)],[f_1104_3]) ).

cnf(f_1104_7,plain,
    ( 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_1,U_6299),U_6298),U_6297),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))))),U_6293),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)))),U_6292),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))),U_6294),U_6296))))),U_6295))
    | ~ 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)))),U_6299)),U_6291),U_6292))
    | 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,U_6298)),U_6294) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6291)
    | ~ 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_1,U_6299),U_6298),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),U_6297),U_6293),U_6292)),U_6296),U_6295))
    | hAPP(list(val),nat,size_size(list(val)),U_6294) != hAPP(list(ty),nat,size_size(list(ty)),U_6292)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6293) != hAPP(list(ty),nat,size_size(list(ty)),U_6292) ),
    inference(clausify,[status(thm)],[f_1104_3]) ).

fof(f_1105_1,plain,
    ! [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)),
    inference(fof_nnf,[status(thm)],[fact_957_widens__refl]) ).

fof(f_1105_2,plain,
    ! [U_6302,U_6301,U_6300] : 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,U_6302)))))))),fun(ty,fun(ty,bool)),widen(U_6302),U_6301)),U_6300),U_6300)),
    inference(variable_rename,[status(thm)],[f_1105_1]) ).

cnf(f_1105_3,plain,
    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,U_6302)))))))),fun(ty,fun(ty,bool)),widen(U_6302),U_6301)),U_6300),U_6300)),
    inference(clausify,[status(thm)],[f_1105_2]) ).

fof(f_1106_1,plain,
    ! [X_a,X_b,Pa,Us_2,Vs_1,Xs,Ys] :
      ( ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us_2)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Vs_1)))
          | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us_2),Vs_1))
          | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys)) )
        & ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us_2),Vs_1))
            & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys)) )
          | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Us_2)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Vs_1))) ) )
      | hAPP(list(X_a),nat,size_size(list(X_a)),Xs) != hAPP(list(X_b),nat,size_size(list(X_b)),Ys) ),
    inference(fof_nnf,[status(thm)],[fact_958_list__all2__append]) ).

fof(f_1106_2,plain,
    ! [U_6309,U_6308,U_6307,U_6306,U_6305,U_6304,U_6303] :
      ( ( ( hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),hAPP(list(U_6309),list(U_6309),hAPP(list(U_6309),fun(list(U_6309),list(U_6309)),append(U_6309),U_6304),U_6306)),hAPP(list(U_6308),list(U_6308),hAPP(list(U_6308),fun(list(U_6308),list(U_6308)),append(U_6308),U_6303),U_6305)))
          | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6306),U_6305))
          | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6304),U_6303)) )
        & ( ( hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6306),U_6305))
            & hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6304),U_6303)) )
          | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),hAPP(list(U_6309),list(U_6309),hAPP(list(U_6309),fun(list(U_6309),list(U_6309)),append(U_6309),U_6304),U_6306)),hAPP(list(U_6308),list(U_6308),hAPP(list(U_6308),fun(list(U_6308),list(U_6308)),append(U_6308),U_6303),U_6305))) ) )
      | hAPP(list(U_6309),nat,size_size(list(U_6309)),U_6304) != hAPP(list(U_6308),nat,size_size(list(U_6308)),U_6303) ),
    inference(variable_rename,[status(thm)],[f_1106_1]) ).

cnf(f_1106_3,plain,
    ( hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6304),U_6303))
    | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),hAPP(list(U_6309),list(U_6309),hAPP(list(U_6309),fun(list(U_6309),list(U_6309)),append(U_6309),U_6304),U_6306)),hAPP(list(U_6308),list(U_6308),hAPP(list(U_6308),fun(list(U_6308),list(U_6308)),append(U_6308),U_6303),U_6305)))
    | hAPP(list(U_6309),nat,size_size(list(U_6309)),U_6304) != hAPP(list(U_6308),nat,size_size(list(U_6308)),U_6303) ),
    inference(clausify,[status(thm)],[f_1106_2]) ).

cnf(f_1106_4,plain,
    ( hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6306),U_6305))
    | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),hAPP(list(U_6309),list(U_6309),hAPP(list(U_6309),fun(list(U_6309),list(U_6309)),append(U_6309),U_6304),U_6306)),hAPP(list(U_6308),list(U_6308),hAPP(list(U_6308),fun(list(U_6308),list(U_6308)),append(U_6308),U_6303),U_6305)))
    | hAPP(list(U_6309),nat,size_size(list(U_6309)),U_6304) != hAPP(list(U_6308),nat,size_size(list(U_6308)),U_6303) ),
    inference(clausify,[status(thm)],[f_1106_2]) ).

cnf(f_1106_5,plain,
    ( hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),hAPP(list(U_6309),list(U_6309),hAPP(list(U_6309),fun(list(U_6309),list(U_6309)),append(U_6309),U_6304),U_6306)),hAPP(list(U_6308),list(U_6308),hAPP(list(U_6308),fun(list(U_6308),list(U_6308)),append(U_6308),U_6303),U_6305)))
    | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6306),U_6305))
    | ~ hBOOL(hAPP(list(U_6308),bool,hAPP(list(U_6309),fun(list(U_6308),bool),hAPP(fun(U_6309,fun(U_6308,bool)),fun(list(U_6309),fun(list(U_6308),bool)),list_all2(U_6309,U_6308),U_6307),U_6304),U_6303))
    | hAPP(list(U_6309),nat,size_size(list(U_6309)),U_6304) != hAPP(list(U_6308),nat,size_size(list(U_6308)),U_6303) ),
    inference(clausify,[status(thm)],[f_1106_2]) ).

fof(f_1107_1,plain,
    ! [X_b,X_a,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)
      | ~ 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)) ),
    inference(fof_nnf,[status(thm)],[fact_959_list__all2__lengthD]) ).

fof(f_1107_2,plain,
    ! [U_6314,U_6313,U_6312,U_6311,U_6310] :
      ( hAPP(list(U_6313),nat,size_size(list(U_6313)),U_6311) = hAPP(list(U_6314),nat,size_size(list(U_6314)),U_6310)
      | ~ hBOOL(hAPP(list(U_6314),bool,hAPP(list(U_6313),fun(list(U_6314),bool),hAPP(fun(U_6313,fun(U_6314,bool)),fun(list(U_6313),fun(list(U_6314),bool)),list_all2(U_6313,U_6314),U_6312),U_6311),U_6310)) ),
    inference(variable_rename,[status(thm)],[f_1107_1]) ).

cnf(f_1107_3,plain,
    ( hAPP(list(U_6313),nat,size_size(list(U_6313)),U_6311) = hAPP(list(U_6314),nat,size_size(list(U_6314)),U_6310)
    | ~ hBOOL(hAPP(list(U_6314),bool,hAPP(list(U_6313),fun(list(U_6314),bool),hAPP(fun(U_6313,fun(U_6314,bool)),fun(list(U_6313),fun(list(U_6314),bool)),list_all2(U_6313,U_6314),U_6312),U_6311),U_6310)) ),
    inference(clausify,[status(thm)],[f_1107_2]) ).

fof(f_1108_1,plain,
    ! [X_b,X_a,C,D,Pa,A_1,B] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),A_1),C)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),B),D)))
      | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),C),D))
      | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),A_1),B)) ),
    inference(fof_nnf,[status(thm)],[fact_960_list__all2__appendI]) ).

fof(f_1108_2,plain,
    ! [U_6321,U_6320,U_6319,U_6318,U_6317,U_6316,U_6315] :
      ( hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),hAPP(list(U_6320),list(U_6320),hAPP(list(U_6320),fun(list(U_6320),list(U_6320)),append(U_6320),U_6316),U_6319)),hAPP(list(U_6321),list(U_6321),hAPP(list(U_6321),fun(list(U_6321),list(U_6321)),append(U_6321),U_6315),U_6318)))
      | ~ hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),U_6319),U_6318))
      | ~ hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),U_6316),U_6315)) ),
    inference(variable_rename,[status(thm)],[f_1108_1]) ).

cnf(f_1108_3,plain,
    ( hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),hAPP(list(U_6320),list(U_6320),hAPP(list(U_6320),fun(list(U_6320),list(U_6320)),append(U_6320),U_6316),U_6319)),hAPP(list(U_6321),list(U_6321),hAPP(list(U_6321),fun(list(U_6321),list(U_6321)),append(U_6321),U_6315),U_6318)))
    | ~ hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),U_6319),U_6318))
    | ~ hBOOL(hAPP(list(U_6321),bool,hAPP(list(U_6320),fun(list(U_6321),bool),hAPP(fun(U_6320,fun(U_6321,bool)),fun(list(U_6320),fun(list(U_6321),bool)),list_all2(U_6320,U_6321),U_6317),U_6316),U_6315)) ),
    inference(clausify,[status(thm)],[f_1108_2]) ).

fof(f_1109_1,plain,
    ! [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),fequal(X_a)),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),fequal(X_a)),Xs),Ys))
        | Xs != Ys ) ),
    inference(fof_nnf,[status(thm)],[fact_961_list__all2__eq]) ).

fof(f_1109_2,plain,
    ! [U_6324,U_6323,U_6322] :
      ( ( U_6323 = U_6322
        | ~ hBOOL(hAPP(list(U_6324),bool,hAPP(list(U_6324),fun(list(U_6324),bool),hAPP(fun(U_6324,fun(U_6324,bool)),fun(list(U_6324),fun(list(U_6324),bool)),list_all2(U_6324,U_6324),fequal(U_6324)),U_6323),U_6322)) )
      & ( hBOOL(hAPP(list(U_6324),bool,hAPP(list(U_6324),fun(list(U_6324),bool),hAPP(fun(U_6324,fun(U_6324,bool)),fun(list(U_6324),fun(list(U_6324),bool)),list_all2(U_6324,U_6324),fequal(U_6324)),U_6323),U_6322))
        | U_6323 != U_6322 ) ),
    inference(variable_rename,[status(thm)],[f_1109_1]) ).

fof(f_1109_3,plain,
    ( ! [U_6330,U_6328,U_6326] :
        ( U_6328 = U_6326
        | ~ hBOOL(hAPP(list(U_6330),bool,hAPP(list(U_6330),fun(list(U_6330),bool),hAPP(fun(U_6330,fun(U_6330,bool)),fun(list(U_6330),fun(list(U_6330),bool)),list_all2(U_6330,U_6330),fequal(U_6330)),U_6328),U_6326)) )
    & ! [U_6329,U_6327,U_6325] :
        ( hBOOL(hAPP(list(U_6329),bool,hAPP(list(U_6329),fun(list(U_6329),bool),hAPP(fun(U_6329,fun(U_6329,bool)),fun(list(U_6329),fun(list(U_6329),bool)),list_all2(U_6329,U_6329),fequal(U_6329)),U_6327),U_6325))
        | U_6327 != U_6325 ) ),
    inference(miniscope,[status(thm)],[f_1109_2]) ).

cnf(f_1109_4,plain,
    ( hBOOL(hAPP(list(U_6329),bool,hAPP(list(U_6329),fun(list(U_6329),bool),hAPP(fun(U_6329,fun(U_6329,bool)),fun(list(U_6329),fun(list(U_6329),bool)),list_all2(U_6329,U_6329),fequal(U_6329)),U_6327),U_6325))
    | U_6327 != U_6325 ),
    inference(clausify,[status(thm)],[f_1109_3]) ).

cnf(f_1109_5,plain,
    ( U_6328 = U_6326
    | ~ hBOOL(hAPP(list(U_6330),bool,hAPP(list(U_6330),fun(list(U_6330),bool),hAPP(fun(U_6330,fun(U_6330,bool)),fun(list(U_6330),fun(list(U_6330),bool)),list_all2(U_6330,U_6330),fequal(U_6330)),U_6328),U_6326)) ),
    inference(clausify,[status(thm)],[f_1109_3]) ).

fof(f_1110_1,plain,
    ! [X_a,Us_1,Pa,Ss,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,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),Ss),Us_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)),Ts),Us_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)),Ss),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_962_widens__trans]) ).

fof(f_1110_2,plain,
    ! [U_6335,U_6334,U_6333,U_6332,U_6331] :
      ( 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6332),U_6334))
      | ~ 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6331),U_6334))
      | ~ 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6332),U_6331)) ),
    inference(variable_rename,[status(thm)],[f_1110_1]) ).

cnf(f_1110_3,plain,
    ( 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6332),U_6334))
    | ~ 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6331),U_6334))
    | ~ 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,U_6335)))))))),fun(ty,fun(ty,bool)),widen(U_6335),U_6333)),U_6332),U_6331)) ),
    inference(clausify,[status(thm)],[f_1110_2]) ).

fof(f_1111_1,plain,
    ! [X_b,X_a,Pa,X_1,Xs,Y_1,Ys] :
      ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))
        | ~ hBOOL(hAPP(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,X_1),Y_1)) )
      & ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Ys))
          & hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1)) )
        | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys))) ) ),
    inference(fof_nnf,[status(thm)],[fact_963_list__all2__Cons]) ).

fof(f_1111_2,plain,
    ! [U_6342,U_6341,U_6340,U_6339,U_6338,U_6337,U_6336] :
      ( ( hBOOL(hAPP(list(U_6342),bool,hAPP(list(U_6341),fun(list(U_6342),bool),hAPP(fun(U_6341,fun(U_6342,bool)),fun(list(U_6341),fun(list(U_6342),bool)),list_all2(U_6341,U_6342),U_6340),hAPP(list(U_6341),list(U_6341),hAPP(U_6341,fun(list(U_6341),list(U_6341)),cons(U_6341),U_6339),U_6338)),hAPP(list(U_6342),list(U_6342),hAPP(U_6342,fun(list(U_6342),list(U_6342)),cons(U_6342),U_6337),U_6336)))
        | ~ hBOOL(hAPP(list(U_6342),bool,hAPP(list(U_6341),fun(list(U_6342),bool),hAPP(fun(U_6341,fun(U_6342,bool)),fun(list(U_6341),fun(list(U_6342),bool)),list_all2(U_6341,U_6342),U_6340),U_6338),U_6336))
        | ~ hBOOL(hAPP(U_6342,bool,hAPP(U_6341,fun(U_6342,bool),U_6340,U_6339),U_6337)) )
      & ( ( hBOOL(hAPP(list(U_6342),bool,hAPP(list(U_6341),fun(list(U_6342),bool),hAPP(fun(U_6341,fun(U_6342,bool)),fun(list(U_6341),fun(list(U_6342),bool)),list_all2(U_6341,U_6342),U_6340),U_6338),U_6336))
          & hBOOL(hAPP(U_6342,bool,hAPP(U_6341,fun(U_6342,bool),U_6340,U_6339),U_6337)) )
        | ~ hBOOL(hAPP(list(U_6342),bool,hAPP(list(U_6341),fun(list(U_6342),bool),hAPP(fun(U_6341,fun(U_6342,bool)),fun(list(U_6341),fun(list(U_6342),bool)),list_all2(U_6341,U_6342),U_6340),hAPP(list(U_6341),list(U_6341),hAPP(U_6341,fun(list(U_6341),list(U_6341)),cons(U_6341),U_6339),U_6338)),hAPP(list(U_6342),list(U_6342),hAPP(U_6342,fun(list(U_6342),list(U_6342)),cons(U_6342),U_6337),U_6336))) ) ),
    inference(variable_rename,[status(thm)],[f_1111_1]) ).

fof(f_1111_3,plain,
    ( ! [U_6356,U_6354,U_6352,U_6350,U_6348,U_6346,U_6344] :
        ( hBOOL(hAPP(list(U_6356),bool,hAPP(list(U_6354),fun(list(U_6356),bool),hAPP(fun(U_6354,fun(U_6356,bool)),fun(list(U_6354),fun(list(U_6356),bool)),list_all2(U_6354,U_6356),U_6352),hAPP(list(U_6354),list(U_6354),hAPP(U_6354,fun(list(U_6354),list(U_6354)),cons(U_6354),U_6350),U_6348)),hAPP(list(U_6356),list(U_6356),hAPP(U_6356,fun(list(U_6356),list(U_6356)),cons(U_6356),U_6346),U_6344)))
        | ~ hBOOL(hAPP(list(U_6356),bool,hAPP(list(U_6354),fun(list(U_6356),bool),hAPP(fun(U_6354,fun(U_6356,bool)),fun(list(U_6354),fun(list(U_6356),bool)),list_all2(U_6354,U_6356),U_6352),U_6348),U_6344))
        | ~ hBOOL(hAPP(U_6356,bool,hAPP(U_6354,fun(U_6356,bool),U_6352,U_6350),U_6346)) )
    & ! [U_6355,U_6353,U_6351,U_6349,U_6347,U_6345,U_6343] :
        ( ( hBOOL(hAPP(list(U_6355),bool,hAPP(list(U_6353),fun(list(U_6355),bool),hAPP(fun(U_6353,fun(U_6355,bool)),fun(list(U_6353),fun(list(U_6355),bool)),list_all2(U_6353,U_6355),U_6351),U_6347),U_6343))
          & hBOOL(hAPP(U_6355,bool,hAPP(U_6353,fun(U_6355,bool),U_6351,U_6349),U_6345)) )
        | ~ hBOOL(hAPP(list(U_6355),bool,hAPP(list(U_6353),fun(list(U_6355),bool),hAPP(fun(U_6353,fun(U_6355,bool)),fun(list(U_6353),fun(list(U_6355),bool)),list_all2(U_6353,U_6355),U_6351),hAPP(list(U_6353),list(U_6353),hAPP(U_6353,fun(list(U_6353),list(U_6353)),cons(U_6353),U_6349),U_6347)),hAPP(list(U_6355),list(U_6355),hAPP(U_6355,fun(list(U_6355),list(U_6355)),cons(U_6355),U_6345),U_6343))) ) ),
    inference(miniscope,[status(thm)],[f_1111_2]) ).

cnf(f_1111_4,plain,
    ( hBOOL(hAPP(U_6355,bool,hAPP(U_6353,fun(U_6355,bool),U_6351,U_6349),U_6345))
    | ~ hBOOL(hAPP(list(U_6355),bool,hAPP(list(U_6353),fun(list(U_6355),bool),hAPP(fun(U_6353,fun(U_6355,bool)),fun(list(U_6353),fun(list(U_6355),bool)),list_all2(U_6353,U_6355),U_6351),hAPP(list(U_6353),list(U_6353),hAPP(U_6353,fun(list(U_6353),list(U_6353)),cons(U_6353),U_6349),U_6347)),hAPP(list(U_6355),list(U_6355),hAPP(U_6355,fun(list(U_6355),list(U_6355)),cons(U_6355),U_6345),U_6343))) ),
    inference(clausify,[status(thm)],[f_1111_3]) ).

cnf(f_1111_5,plain,
    ( hBOOL(hAPP(list(U_6355),bool,hAPP(list(U_6353),fun(list(U_6355),bool),hAPP(fun(U_6353,fun(U_6355,bool)),fun(list(U_6353),fun(list(U_6355),bool)),list_all2(U_6353,U_6355),U_6351),U_6347),U_6343))
    | ~ hBOOL(hAPP(list(U_6355),bool,hAPP(list(U_6353),fun(list(U_6355),bool),hAPP(fun(U_6353,fun(U_6355,bool)),fun(list(U_6353),fun(list(U_6355),bool)),list_all2(U_6353,U_6355),U_6351),hAPP(list(U_6353),list(U_6353),hAPP(U_6353,fun(list(U_6353),list(U_6353)),cons(U_6353),U_6349),U_6347)),hAPP(list(U_6355),list(U_6355),hAPP(U_6355,fun(list(U_6355),list(U_6355)),cons(U_6355),U_6345),U_6343))) ),
    inference(clausify,[status(thm)],[f_1111_3]) ).

cnf(f_1111_6,plain,
    ( hBOOL(hAPP(list(U_6356),bool,hAPP(list(U_6354),fun(list(U_6356),bool),hAPP(fun(U_6354,fun(U_6356,bool)),fun(list(U_6354),fun(list(U_6356),bool)),list_all2(U_6354,U_6356),U_6352),hAPP(list(U_6354),list(U_6354),hAPP(U_6354,fun(list(U_6354),list(U_6354)),cons(U_6354),U_6350),U_6348)),hAPP(list(U_6356),list(U_6356),hAPP(U_6356,fun(list(U_6356),list(U_6356)),cons(U_6356),U_6346),U_6344)))
    | ~ hBOOL(hAPP(list(U_6356),bool,hAPP(list(U_6354),fun(list(U_6356),bool),hAPP(fun(U_6354,fun(U_6356,bool)),fun(list(U_6354),fun(list(U_6356),bool)),list_all2(U_6354,U_6356),U_6352),U_6348),U_6344))
    | ~ hBOOL(hAPP(U_6356,bool,hAPP(U_6354,fun(U_6356,bool),U_6352,U_6350),U_6346)) ),
    inference(clausify,[status(thm)],[f_1111_3]) ).

fof(f_1112_1,plain,
    ! [X_b,X_a,X_c,Pa,As,F,Bs] :
      ( ( 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),As),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),F),Bs)))
        | ~ 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),hAPP(fun(X_c,X_b),fun(X_a,fun(X_c,bool)),hAPP(fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_c,X_b),fun(X_a,fun(X_c,bool))),combc(X_a,fun(X_c,X_b),fun(X_c,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),hAPP(fun(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool)))),combb(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool)),X_a),combb(X_b,bool,X_c)),Pa)),F)),As),Bs)) )
      & ( 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),hAPP(fun(X_c,X_b),fun(X_a,fun(X_c,bool)),hAPP(fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_c,X_b),fun(X_a,fun(X_c,bool))),combc(X_a,fun(X_c,X_b),fun(X_c,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool))),hAPP(fun(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool))),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,bool)))),combb(fun(X_b,bool),fun(fun(X_c,X_b),fun(X_c,bool)),X_a),combb(X_b,bool,X_c)),Pa)),F)),As),Bs))
        | ~ 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),As),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),F),Bs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_964_list__all2__map2]) ).

fof(f_1112_2,plain,
    ! [U_6363,U_6362,U_6361,U_6360,U_6359,U_6358,U_6357] :
      ( ( hBOOL(hAPP(list(U_6363),bool,hAPP(list(U_6362),fun(list(U_6363),bool),hAPP(fun(U_6362,fun(U_6363,bool)),fun(list(U_6362),fun(list(U_6363),bool)),list_all2(U_6362,U_6363),U_6360),U_6359),hAPP(list(U_6361),list(U_6363),hAPP(fun(U_6361,U_6363),fun(list(U_6361),list(U_6363)),map(U_6361,U_6363),U_6358),U_6357)))
        | ~ hBOOL(hAPP(list(U_6361),bool,hAPP(list(U_6362),fun(list(U_6361),bool),hAPP(fun(U_6362,fun(U_6361,bool)),fun(list(U_6362),fun(list(U_6361),bool)),list_all2(U_6362,U_6361),hAPP(fun(U_6361,U_6363),fun(U_6362,fun(U_6361,bool)),hAPP(fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool))),fun(fun(U_6361,U_6363),fun(U_6362,fun(U_6361,bool))),combc(U_6362,fun(U_6361,U_6363),fun(U_6361,bool)),hAPP(fun(U_6362,fun(U_6363,bool)),fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool))),hAPP(fun(fun(U_6363,bool),fun(fun(U_6361,U_6363),fun(U_6361,bool))),fun(fun(U_6362,fun(U_6363,bool)),fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool)))),combb(fun(U_6363,bool),fun(fun(U_6361,U_6363),fun(U_6361,bool)),U_6362),combb(U_6363,bool,U_6361)),U_6360)),U_6358)),U_6359),U_6357)) )
      & ( hBOOL(hAPP(list(U_6361),bool,hAPP(list(U_6362),fun(list(U_6361),bool),hAPP(fun(U_6362,fun(U_6361,bool)),fun(list(U_6362),fun(list(U_6361),bool)),list_all2(U_6362,U_6361),hAPP(fun(U_6361,U_6363),fun(U_6362,fun(U_6361,bool)),hAPP(fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool))),fun(fun(U_6361,U_6363),fun(U_6362,fun(U_6361,bool))),combc(U_6362,fun(U_6361,U_6363),fun(U_6361,bool)),hAPP(fun(U_6362,fun(U_6363,bool)),fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool))),hAPP(fun(fun(U_6363,bool),fun(fun(U_6361,U_6363),fun(U_6361,bool))),fun(fun(U_6362,fun(U_6363,bool)),fun(U_6362,fun(fun(U_6361,U_6363),fun(U_6361,bool)))),combb(fun(U_6363,bool),fun(fun(U_6361,U_6363),fun(U_6361,bool)),U_6362),combb(U_6363,bool,U_6361)),U_6360)),U_6358)),U_6359),U_6357))
        | ~ hBOOL(hAPP(list(U_6363),bool,hAPP(list(U_6362),fun(list(U_6363),bool),hAPP(fun(U_6362,fun(U_6363,bool)),fun(list(U_6362),fun(list(U_6363),bool)),list_all2(U_6362,U_6363),U_6360),U_6359),hAPP(list(U_6361),list(U_6363),hAPP(fun(U_6361,U_6363),fun(list(U_6361),list(U_6363)),map(U_6361,U_6363),U_6358),U_6357))) ) ),
    inference(variable_rename,[status(thm)],[f_1112_1]) ).

fof(f_1112_3,plain,
    ( ! [U_6377,U_6375,U_6373,U_6371,U_6369,U_6367,U_6365] :
        ( hBOOL(hAPP(list(U_6377),bool,hAPP(list(U_6375),fun(list(U_6377),bool),hAPP(fun(U_6375,fun(U_6377,bool)),fun(list(U_6375),fun(list(U_6377),bool)),list_all2(U_6375,U_6377),U_6371),U_6369),hAPP(list(U_6373),list(U_6377),hAPP(fun(U_6373,U_6377),fun(list(U_6373),list(U_6377)),map(U_6373,U_6377),U_6367),U_6365)))
        | ~ hBOOL(hAPP(list(U_6373),bool,hAPP(list(U_6375),fun(list(U_6373),bool),hAPP(fun(U_6375,fun(U_6373,bool)),fun(list(U_6375),fun(list(U_6373),bool)),list_all2(U_6375,U_6373),hAPP(fun(U_6373,U_6377),fun(U_6375,fun(U_6373,bool)),hAPP(fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool))),fun(fun(U_6373,U_6377),fun(U_6375,fun(U_6373,bool))),combc(U_6375,fun(U_6373,U_6377),fun(U_6373,bool)),hAPP(fun(U_6375,fun(U_6377,bool)),fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool))),hAPP(fun(fun(U_6377,bool),fun(fun(U_6373,U_6377),fun(U_6373,bool))),fun(fun(U_6375,fun(U_6377,bool)),fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool)))),combb(fun(U_6377,bool),fun(fun(U_6373,U_6377),fun(U_6373,bool)),U_6375),combb(U_6377,bool,U_6373)),U_6371)),U_6367)),U_6369),U_6365)) )
    & ! [U_6376,U_6374,U_6372,U_6370,U_6368,U_6366,U_6364] :
        ( hBOOL(hAPP(list(U_6372),bool,hAPP(list(U_6374),fun(list(U_6372),bool),hAPP(fun(U_6374,fun(U_6372,bool)),fun(list(U_6374),fun(list(U_6372),bool)),list_all2(U_6374,U_6372),hAPP(fun(U_6372,U_6376),fun(U_6374,fun(U_6372,bool)),hAPP(fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool))),fun(fun(U_6372,U_6376),fun(U_6374,fun(U_6372,bool))),combc(U_6374,fun(U_6372,U_6376),fun(U_6372,bool)),hAPP(fun(U_6374,fun(U_6376,bool)),fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool))),hAPP(fun(fun(U_6376,bool),fun(fun(U_6372,U_6376),fun(U_6372,bool))),fun(fun(U_6374,fun(U_6376,bool)),fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool)))),combb(fun(U_6376,bool),fun(fun(U_6372,U_6376),fun(U_6372,bool)),U_6374),combb(U_6376,bool,U_6372)),U_6370)),U_6366)),U_6368),U_6364))
        | ~ hBOOL(hAPP(list(U_6376),bool,hAPP(list(U_6374),fun(list(U_6376),bool),hAPP(fun(U_6374,fun(U_6376,bool)),fun(list(U_6374),fun(list(U_6376),bool)),list_all2(U_6374,U_6376),U_6370),U_6368),hAPP(list(U_6372),list(U_6376),hAPP(fun(U_6372,U_6376),fun(list(U_6372),list(U_6376)),map(U_6372,U_6376),U_6366),U_6364))) ) ),
    inference(miniscope,[status(thm)],[f_1112_2]) ).

cnf(f_1112_4,plain,
    ( hBOOL(hAPP(list(U_6372),bool,hAPP(list(U_6374),fun(list(U_6372),bool),hAPP(fun(U_6374,fun(U_6372,bool)),fun(list(U_6374),fun(list(U_6372),bool)),list_all2(U_6374,U_6372),hAPP(fun(U_6372,U_6376),fun(U_6374,fun(U_6372,bool)),hAPP(fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool))),fun(fun(U_6372,U_6376),fun(U_6374,fun(U_6372,bool))),combc(U_6374,fun(U_6372,U_6376),fun(U_6372,bool)),hAPP(fun(U_6374,fun(U_6376,bool)),fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool))),hAPP(fun(fun(U_6376,bool),fun(fun(U_6372,U_6376),fun(U_6372,bool))),fun(fun(U_6374,fun(U_6376,bool)),fun(U_6374,fun(fun(U_6372,U_6376),fun(U_6372,bool)))),combb(fun(U_6376,bool),fun(fun(U_6372,U_6376),fun(U_6372,bool)),U_6374),combb(U_6376,bool,U_6372)),U_6370)),U_6366)),U_6368),U_6364))
    | ~ hBOOL(hAPP(list(U_6376),bool,hAPP(list(U_6374),fun(list(U_6376),bool),hAPP(fun(U_6374,fun(U_6376,bool)),fun(list(U_6374),fun(list(U_6376),bool)),list_all2(U_6374,U_6376),U_6370),U_6368),hAPP(list(U_6372),list(U_6376),hAPP(fun(U_6372,U_6376),fun(list(U_6372),list(U_6376)),map(U_6372,U_6376),U_6366),U_6364))) ),
    inference(clausify,[status(thm)],[f_1112_3]) ).

cnf(f_1112_5,plain,
    ( hBOOL(hAPP(list(U_6377),bool,hAPP(list(U_6375),fun(list(U_6377),bool),hAPP(fun(U_6375,fun(U_6377,bool)),fun(list(U_6375),fun(list(U_6377),bool)),list_all2(U_6375,U_6377),U_6371),U_6369),hAPP(list(U_6373),list(U_6377),hAPP(fun(U_6373,U_6377),fun(list(U_6373),list(U_6377)),map(U_6373,U_6377),U_6367),U_6365)))
    | ~ hBOOL(hAPP(list(U_6373),bool,hAPP(list(U_6375),fun(list(U_6373),bool),hAPP(fun(U_6375,fun(U_6373,bool)),fun(list(U_6375),fun(list(U_6373),bool)),list_all2(U_6375,U_6373),hAPP(fun(U_6373,U_6377),fun(U_6375,fun(U_6373,bool)),hAPP(fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool))),fun(fun(U_6373,U_6377),fun(U_6375,fun(U_6373,bool))),combc(U_6375,fun(U_6373,U_6377),fun(U_6373,bool)),hAPP(fun(U_6375,fun(U_6377,bool)),fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool))),hAPP(fun(fun(U_6377,bool),fun(fun(U_6373,U_6377),fun(U_6373,bool))),fun(fun(U_6375,fun(U_6377,bool)),fun(U_6375,fun(fun(U_6373,U_6377),fun(U_6373,bool)))),combb(fun(U_6377,bool),fun(fun(U_6373,U_6377),fun(U_6373,bool)),U_6375),combb(U_6377,bool,U_6373)),U_6371)),U_6367)),U_6369),U_6365)) ),
    inference(clausify,[status(thm)],[f_1112_3]) ).

fof(f_1113_1,plain,
    ! [X_b,X_a,X_c,Pa,F,As,Bs] :
      ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),F),As)),Bs))
        | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_c),fun(list(X_b),bool),hAPP(fun(X_c,fun(X_b,bool)),fun(list(X_c),fun(list(X_b),bool)),list_all2(X_c,X_b),hAPP(fun(X_c,X_a),fun(X_c,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_c,X_a),fun(X_c,fun(X_b,bool))),combb(X_a,fun(X_b,bool),X_c),Pa),F)),As),Bs)) )
      & ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_c),fun(list(X_b),bool),hAPP(fun(X_c,fun(X_b,bool)),fun(list(X_c),fun(list(X_b),bool)),list_all2(X_c,X_b),hAPP(fun(X_c,X_a),fun(X_c,fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_c,X_a),fun(X_c,fun(X_b,bool))),combb(X_a,fun(X_b,bool),X_c),Pa),F)),As),Bs))
        | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),F),As)),Bs)) ) ),
    inference(fof_nnf,[status(thm)],[fact_965_list__all2__map1]) ).

fof(f_1113_2,plain,
    ! [U_6384,U_6383,U_6382,U_6381,U_6380,U_6379,U_6378] :
      ( ( hBOOL(hAPP(list(U_6384),bool,hAPP(list(U_6383),fun(list(U_6384),bool),hAPP(fun(U_6383,fun(U_6384,bool)),fun(list(U_6383),fun(list(U_6384),bool)),list_all2(U_6383,U_6384),U_6381),hAPP(list(U_6382),list(U_6383),hAPP(fun(U_6382,U_6383),fun(list(U_6382),list(U_6383)),map(U_6382,U_6383),U_6380),U_6379)),U_6378))
        | ~ hBOOL(hAPP(list(U_6384),bool,hAPP(list(U_6382),fun(list(U_6384),bool),hAPP(fun(U_6382,fun(U_6384,bool)),fun(list(U_6382),fun(list(U_6384),bool)),list_all2(U_6382,U_6384),hAPP(fun(U_6382,U_6383),fun(U_6382,fun(U_6384,bool)),hAPP(fun(U_6383,fun(U_6384,bool)),fun(fun(U_6382,U_6383),fun(U_6382,fun(U_6384,bool))),combb(U_6383,fun(U_6384,bool),U_6382),U_6381),U_6380)),U_6379),U_6378)) )
      & ( hBOOL(hAPP(list(U_6384),bool,hAPP(list(U_6382),fun(list(U_6384),bool),hAPP(fun(U_6382,fun(U_6384,bool)),fun(list(U_6382),fun(list(U_6384),bool)),list_all2(U_6382,U_6384),hAPP(fun(U_6382,U_6383),fun(U_6382,fun(U_6384,bool)),hAPP(fun(U_6383,fun(U_6384,bool)),fun(fun(U_6382,U_6383),fun(U_6382,fun(U_6384,bool))),combb(U_6383,fun(U_6384,bool),U_6382),U_6381),U_6380)),U_6379),U_6378))
        | ~ hBOOL(hAPP(list(U_6384),bool,hAPP(list(U_6383),fun(list(U_6384),bool),hAPP(fun(U_6383,fun(U_6384,bool)),fun(list(U_6383),fun(list(U_6384),bool)),list_all2(U_6383,U_6384),U_6381),hAPP(list(U_6382),list(U_6383),hAPP(fun(U_6382,U_6383),fun(list(U_6382),list(U_6383)),map(U_6382,U_6383),U_6380),U_6379)),U_6378)) ) ),
    inference(variable_rename,[status(thm)],[f_1113_1]) ).

fof(f_1113_3,plain,
    ( ! [U_6398,U_6396,U_6394,U_6392,U_6390,U_6388,U_6386] :
        ( hBOOL(hAPP(list(U_6398),bool,hAPP(list(U_6396),fun(list(U_6398),bool),hAPP(fun(U_6396,fun(U_6398,bool)),fun(list(U_6396),fun(list(U_6398),bool)),list_all2(U_6396,U_6398),U_6392),hAPP(list(U_6394),list(U_6396),hAPP(fun(U_6394,U_6396),fun(list(U_6394),list(U_6396)),map(U_6394,U_6396),U_6390),U_6388)),U_6386))
        | ~ hBOOL(hAPP(list(U_6398),bool,hAPP(list(U_6394),fun(list(U_6398),bool),hAPP(fun(U_6394,fun(U_6398,bool)),fun(list(U_6394),fun(list(U_6398),bool)),list_all2(U_6394,U_6398),hAPP(fun(U_6394,U_6396),fun(U_6394,fun(U_6398,bool)),hAPP(fun(U_6396,fun(U_6398,bool)),fun(fun(U_6394,U_6396),fun(U_6394,fun(U_6398,bool))),combb(U_6396,fun(U_6398,bool),U_6394),U_6392),U_6390)),U_6388),U_6386)) )
    & ! [U_6397,U_6395,U_6393,U_6391,U_6389,U_6387,U_6385] :
        ( hBOOL(hAPP(list(U_6397),bool,hAPP(list(U_6393),fun(list(U_6397),bool),hAPP(fun(U_6393,fun(U_6397,bool)),fun(list(U_6393),fun(list(U_6397),bool)),list_all2(U_6393,U_6397),hAPP(fun(U_6393,U_6395),fun(U_6393,fun(U_6397,bool)),hAPP(fun(U_6395,fun(U_6397,bool)),fun(fun(U_6393,U_6395),fun(U_6393,fun(U_6397,bool))),combb(U_6395,fun(U_6397,bool),U_6393),U_6391),U_6389)),U_6387),U_6385))
        | ~ hBOOL(hAPP(list(U_6397),bool,hAPP(list(U_6395),fun(list(U_6397),bool),hAPP(fun(U_6395,fun(U_6397,bool)),fun(list(U_6395),fun(list(U_6397),bool)),list_all2(U_6395,U_6397),U_6391),hAPP(list(U_6393),list(U_6395),hAPP(fun(U_6393,U_6395),fun(list(U_6393),list(U_6395)),map(U_6393,U_6395),U_6389),U_6387)),U_6385)) ) ),
    inference(miniscope,[status(thm)],[f_1113_2]) ).

cnf(f_1113_4,plain,
    ( hBOOL(hAPP(list(U_6397),bool,hAPP(list(U_6393),fun(list(U_6397),bool),hAPP(fun(U_6393,fun(U_6397,bool)),fun(list(U_6393),fun(list(U_6397),bool)),list_all2(U_6393,U_6397),hAPP(fun(U_6393,U_6395),fun(U_6393,fun(U_6397,bool)),hAPP(fun(U_6395,fun(U_6397,bool)),fun(fun(U_6393,U_6395),fun(U_6393,fun(U_6397,bool))),combb(U_6395,fun(U_6397,bool),U_6393),U_6391),U_6389)),U_6387),U_6385))
    | ~ hBOOL(hAPP(list(U_6397),bool,hAPP(list(U_6395),fun(list(U_6397),bool),hAPP(fun(U_6395,fun(U_6397,bool)),fun(list(U_6395),fun(list(U_6397),bool)),list_all2(U_6395,U_6397),U_6391),hAPP(list(U_6393),list(U_6395),hAPP(fun(U_6393,U_6395),fun(list(U_6393),list(U_6395)),map(U_6393,U_6395),U_6389),U_6387)),U_6385)) ),
    inference(clausify,[status(thm)],[f_1113_3]) ).

cnf(f_1113_5,plain,
    ( hBOOL(hAPP(list(U_6398),bool,hAPP(list(U_6396),fun(list(U_6398),bool),hAPP(fun(U_6396,fun(U_6398,bool)),fun(list(U_6396),fun(list(U_6398),bool)),list_all2(U_6396,U_6398),U_6392),hAPP(list(U_6394),list(U_6396),hAPP(fun(U_6394,U_6396),fun(list(U_6394),list(U_6396)),map(U_6394,U_6396),U_6390),U_6388)),U_6386))
    | ~ hBOOL(hAPP(list(U_6398),bool,hAPP(list(U_6394),fun(list(U_6398),bool),hAPP(fun(U_6394,fun(U_6398,bool)),fun(list(U_6394),fun(list(U_6398),bool)),list_all2(U_6394,U_6398),hAPP(fun(U_6394,U_6396),fun(U_6394,fun(U_6398,bool)),hAPP(fun(U_6396,fun(U_6398,bool)),fun(fun(U_6394,U_6396),fun(U_6394,fun(U_6398,bool))),combb(U_6396,fun(U_6398,bool),U_6394),U_6392),U_6390)),U_6388),U_6386)) ),
    inference(clausify,[status(thm)],[f_1113_3]) ).

fof(f_1114_1,plain,
    ! [X_a,Ts_1,T_a,M_2,D_3,M,Ts,Ta,M_1,D_2,Wf_md,C_3,C_1,Pa] :
      ( ( hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),T_a),Ta))
        & 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),Ts_1)) )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_3),M),Ts_1),T_a),M_2),D_3))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(X_a,fun(list(char),bool),hAPP(ty,fun(X_a,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(X_a,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(X_a,fun(list(char),bool)))))),method(X_a),Pa),C_1),M),Ts),Ta),M_1),D_2))
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_3),C_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ),
    inference(fof_nnf,[status(thm)],[fact_966_sees__method__mono2]) ).

fof(f_1114_2,plain,
    ! [U_6412,U_6411,U_6410,U_6409,U_6408,U_6407,U_6406,U_6405,U_6404,U_6403,U_6402,U_6401,U_6400,U_6399] :
      ( ( 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,U_6412)))))))),fun(ty,fun(ty,bool)),widen(U_6412),U_6399),U_6410),U_6405))
        & 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,U_6412)))))))),fun(ty,fun(ty,bool)),widen(U_6412),U_6399)),U_6406),U_6411)) )
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6401),U_6407),U_6411),U_6410),U_6409),U_6408))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6400),U_6407),U_6406),U_6405),U_6404),U_6403))
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),bool,hAPP(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,U_6412)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412))),bool))),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,U_6412)))))))),bool),wf_prog(U_6412),U_6402),U_6399))
      | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6401),U_6400)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6412),U_6399)))) ),
    inference(variable_rename,[status(thm)],[f_1114_1]) ).

cnf(f_1114_3,plain,
    ( 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,U_6412)))))))),fun(ty,fun(ty,bool)),widen(U_6412),U_6399)),U_6406),U_6411))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6401),U_6407),U_6411),U_6410),U_6409),U_6408))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6400),U_6407),U_6406),U_6405),U_6404),U_6403))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),bool,hAPP(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,U_6412)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412))),bool))),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,U_6412)))))))),bool),wf_prog(U_6412),U_6402),U_6399))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6401),U_6400)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6412),U_6399)))) ),
    inference(clausify,[status(thm)],[f_1114_2]) ).

cnf(f_1114_4,plain,
    ( 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,U_6412)))))))),fun(ty,fun(ty,bool)),widen(U_6412),U_6399),U_6410),U_6405))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6401),U_6407),U_6411),U_6410),U_6409),U_6408))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(U_6412,fun(list(char),bool),hAPP(ty,fun(U_6412,fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(U_6412,fun(list(char),bool)))))),method(U_6412),U_6399),U_6400),U_6407),U_6406),U_6405),U_6404),U_6403))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),bool,hAPP(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,U_6412)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412))),bool))),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,U_6412)))))))),bool),wf_prog(U_6412),U_6402),U_6399))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6401),U_6400)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_rtrancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6412)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6412),U_6399)))) ),
    inference(clausify,[status(thm)],[f_1114_2]) ).

fof(f_1115_1,plain,
    ! [Esa,Ts_1,M,Ts,Ta,Pns,Body,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta))
      | ~ hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_1),Ts))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts_1))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt_1,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_967_WTrtCall]) ).

fof(f_1115_2,plain,
    ! [U_6425,U_6424,U_6423,U_6422,U_6421,U_6420,U_6419,U_6418,U_6417,U_6416,U_6415,U_6414,U_6413] :
      ( 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_1,U_6417),U_6416),U_6415),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6414),U_6423),U_6425)),U_6421))
      | ~ 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)))),U_6417)),U_6424),U_6422))
      | ~ 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_1,U_6417),U_6416),U_6415),U_6425),U_6424))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6417),U_6413),U_6423),U_6422),U_6421),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6420),U_6419)),U_6418))
      | ~ 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_1,U_6417),U_6416),U_6415),U_6414),hAPP(list(char),ty,class,U_6413))) ),
    inference(variable_rename,[status(thm)],[f_1115_1]) ).

cnf(f_1115_3,plain,
    ( 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_1,U_6417),U_6416),U_6415),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6414),U_6423),U_6425)),U_6421))
    | ~ 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)))),U_6417)),U_6424),U_6422))
    | ~ 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_1,U_6417),U_6416),U_6415),U_6425),U_6424))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6417),U_6413),U_6423),U_6422),U_6421),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6420),U_6419)),U_6418))
    | ~ 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_1,U_6417),U_6416),U_6415),U_6414),hAPP(list(char),ty,class,U_6413))) ),
    inference(clausify,[status(thm)],[f_1115_2]) ).

fof(f_1116_1,plain,
    ! [X_a,Pa,X_1,Xs,Ys] :
      ( ( hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),X_1),Xs)),Ys))
        | ! [Z,Zs_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)),Xs),Zs_1))
            | ~ hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),X_1),Z))
            | Ys != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Z),Zs_1) ) )
      & ( ? [Z,Zs_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)),Xs),Zs_1))
            & hBOOL(hAPP(ty,bool,hAPP(ty,fun(ty,bool),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(ty,fun(ty,bool)),widen(X_a),Pa),X_1),Z))
            & Ys = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Z),Zs_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)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),X_1),Xs)),Ys)) ) ),
    inference(fof_nnf,[status(thm)],[fact_968_widens__Cons]) ).

fof(f_1116_2,plain,
    ! [U_6434,U_6433,U_6432,U_6431,U_6430] :
      ( ( 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6432),U_6431)),U_6430))
        | ! [U_6429,U_6428] :
            ( ~ 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433)),U_6431),U_6428))
            | ~ 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433),U_6432),U_6429))
            | U_6430 != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6429),U_6428) ) )
      & ( ? [U_6427,U_6426] :
            ( 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433)),U_6431),U_6426))
            & 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433),U_6432),U_6427))
            & U_6430 = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6427),U_6426) )
        | ~ 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,U_6434)))))))),fun(ty,fun(ty,bool)),widen(U_6434),U_6433)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6432),U_6431)),U_6430)) ) ),
    inference(variable_rename,[status(thm)],[f_1116_1]) ).

fof(f_1116_3,plain,
    ( ! [U_6444,U_6442,U_6440,U_6438,U_6436] :
        ( 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6440),U_6438)),U_6436))
        | ! [U_6429] :
            ( ! [U_6428] :
                ( ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),U_6438),U_6428))
                | U_6436 != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6429),U_6428) )
            | ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442),U_6440),U_6429)) ) )
    & ! [U_6443,U_6441,U_6439,U_6437,U_6435] :
        ( ? [U_6427] :
            ( ? [U_6426] :
                ( 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),U_6437),U_6426))
                & U_6435 = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6427),U_6426) )
            & 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441),U_6439),U_6427)) )
        | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ) ),
    inference(miniscope,[status(thm)],[f_1116_2]) ).

fof(f_1116_4,plain,
    ( ! [U_6444,U_6442,U_6440,U_6438,U_6436] :
        ( 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6440),U_6438)),U_6436))
        | ! [U_6429] :
            ( ! [U_6428] :
                ( ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),U_6438),U_6428))
                | U_6436 != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6429),U_6428) )
            | ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442),U_6440),U_6429)) ) )
    & ! [U_6443,U_6441,U_6439,U_6437,U_6435] :
        ( ( ? [U_6426] :
              ( 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),U_6437),U_6426))
              & U_6435 = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),sK241(U_6443,U_6441,U_6439,U_6437,U_6435)),U_6426) )
          & 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441),U_6439),sK241(U_6443,U_6441,U_6439,U_6437,U_6435))) )
        | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK241]),skolemize(U_6427,sK241(U_6443,U_6441,U_6439,U_6437,U_6435))],[f_1116_3]) ).

fof(f_1116_5,plain,
    ( ! [U_6444,U_6442,U_6440,U_6438,U_6436] :
        ( 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6440),U_6438)),U_6436))
        | ! [U_6429] :
            ( ! [U_6428] :
                ( ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),U_6438),U_6428))
                | U_6436 != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6429),U_6428) )
            | ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442),U_6440),U_6429)) ) )
    & ! [U_6443,U_6441,U_6439,U_6437,U_6435] :
        ( ( 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),U_6437),sK242(U_6443,U_6441,U_6439,U_6437,U_6435)))
          & U_6435 = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),sK241(U_6443,U_6441,U_6439,U_6437,U_6435)),sK242(U_6443,U_6441,U_6439,U_6437,U_6435))
          & 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441),U_6439),sK241(U_6443,U_6441,U_6439,U_6437,U_6435))) )
        | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK242]),skolemize(U_6426,sK242(U_6443,U_6441,U_6439,U_6437,U_6435))],[f_1116_4]) ).

cnf(f_1116_6,plain,
    ( 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441),U_6439),sK241(U_6443,U_6441,U_6439,U_6437,U_6435)))
    | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ),
    inference(clausify,[status(thm)],[f_1116_5]) ).

cnf(f_1116_7,plain,
    ( U_6435 = hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),sK241(U_6443,U_6441,U_6439,U_6437,U_6435)),sK242(U_6443,U_6441,U_6439,U_6437,U_6435))
    | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ),
    inference(clausify,[status(thm)],[f_1116_5]) ).

cnf(f_1116_8,plain,
    ( 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),U_6437),sK242(U_6443,U_6441,U_6439,U_6437,U_6435)))
    | ~ 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,U_6443)))))))),fun(ty,fun(ty,bool)),widen(U_6443),U_6441)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6439),U_6437)),U_6435)) ),
    inference(clausify,[status(thm)],[f_1116_5]) ).

cnf(f_1116_9,plain,
    ( 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6440),U_6438)),U_6436))
    | ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442)),U_6438),U_6428))
    | U_6436 != hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6429),U_6428)
    | ~ 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,U_6444)))))))),fun(ty,fun(ty,bool)),widen(U_6444),U_6442),U_6440),U_6429)) ),
    inference(clausify,[status(thm)],[f_1116_5]) ).

fof(f_1117_1,plain,
    ! [Esa,Ts_1,M,Ts,Ta,Pns,Body,D_2,Pa,Hb,Ea,Eb,C_1] :
      ( hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta))
      | ~ hBOOL(hAPP(list(ty),bool,hAPP(list(ty),fun(list(ty),bool),hAPP(fun(ty,fun(ty,bool)),fun(list(ty),fun(list(ty),bool)),list_all2(ty,ty),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(ty,fun(ty,bool)),widen(product_prod(list(list(char)),exp(list(char)))),Pa)),Ts_1),Ts))
      | ~ 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),Hb),Ea),Esa),Ts_1))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),Pa),C_1),M),Ts),Ta),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),Pns),Body)),D_2))
      | ~ hBOOL(hAPP(ty,bool,hAPP(exp(list(char)),fun(ty,bool),hAPP(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(exp(list(char)),fun(ty,bool)))),wTrt,Pa),Hb),Ea),Eb),hAPP(list(char),ty,class,C_1))) ),
    inference(fof_nnf,[status(thm)],[fact_969_WTrt_H__WTrts_H_Ointros_I12_J]) ).

fof(f_1117_2,plain,
    ! [U_6457,U_6456,U_6455,U_6454,U_6453,U_6452,U_6451,U_6450,U_6449,U_6448,U_6447,U_6446,U_6445] :
      ( 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,U_6449),U_6448),U_6447),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6446),U_6455),U_6457)),U_6453))
      | ~ 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)))),U_6449)),U_6456),U_6454))
      | ~ 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,U_6449),U_6448),U_6447),U_6457),U_6456))
      | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6449),U_6445),U_6455),U_6454),U_6453),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6452),U_6451)),U_6450))
      | ~ 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,U_6449),U_6448),U_6447),U_6446),hAPP(list(char),ty,class,U_6445))) ),
    inference(variable_rename,[status(thm)],[f_1117_1]) ).

cnf(f_1117_3,plain,
    ( 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,U_6449),U_6448),U_6447),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6446),U_6455),U_6457)),U_6453))
    | ~ 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)))),U_6449)),U_6456),U_6454))
    | ~ 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,U_6449),U_6448),U_6447),U_6457),U_6456))
    | ~ hBOOL(hAPP(list(char),bool,hAPP(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool),hAPP(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)),hAPP(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))),hAPP(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))),hAPP(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool))))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(list(char),fun(list(char),fun(list(ty),fun(ty,fun(product_prod(list(list(char)),exp(list(char))),fun(list(char),bool)))))),method(product_prod(list(list(char)),exp(list(char)))),U_6449),U_6445),U_6455),U_6454),U_6453),hAPP(exp(list(char)),product_prod(list(list(char)),exp(list(char))),hAPP(list(list(char)),fun(exp(list(char)),product_prod(list(list(char)),exp(list(char)))),product_Pair(list(list(char)),exp(list(char))),U_6452),U_6451)),U_6450))
    | ~ 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,U_6449),U_6448),U_6447),U_6446),hAPP(list(char),ty,class,U_6445))) ),
    inference(clausify,[status(thm)],[f_1117_2]) ).

fof(f_1118_1,plain,
    ! [X_a,H_b,Pa,Hb,Vs_1,Ts] :
      ( 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_b)),Vs_1),Ts))
      | ~ 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,Hb),H_b))
      | ~ 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),Hb)),Vs_1),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_970_confs__hext]) ).

fof(f_1118_2,plain,
    ! [U_6463,U_6462,U_6461,U_6460,U_6459,U_6458] :
      ( 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,U_6463)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6463),U_6461),U_6462)),U_6459),U_6458))
      | ~ 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,U_6460),U_6462))
      | ~ 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,U_6463)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6463),U_6461),U_6460)),U_6459),U_6458)) ),
    inference(variable_rename,[status(thm)],[f_1118_1]) ).

cnf(f_1118_3,plain,
    ( 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,U_6463)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6463),U_6461),U_6462)),U_6459),U_6458))
    | ~ 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,U_6460),U_6462))
    | ~ 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,U_6463)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6463),U_6461),U_6460)),U_6459),U_6458)) ),
    inference(clausify,[status(thm)],[f_1118_2]) ).

fof(f_1119_1,plain,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( ( 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),Hb),Ea),Esa),Ts))
        | ~ 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_1,Pa),Hb),Ea),Esa),Ts)) )
      & ( 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_1,Pa),Hb),Ea),Esa),Ts))
        | ~ 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),Hb),Ea),Esa),Ts)) ) ),
    inference(fof_nnf,[status(thm)],[fact_971_wts_H__iff__wts]) ).

fof(f_1119_2,plain,
    ! [U_6468,U_6467,U_6466,U_6465,U_6464] :
      ( ( 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,U_6468),U_6467),U_6466),U_6465),U_6464))
        | ~ 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_1,U_6468),U_6467),U_6466),U_6465),U_6464)) )
      & ( 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_1,U_6468),U_6467),U_6466),U_6465),U_6464))
        | ~ 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,U_6468),U_6467),U_6466),U_6465),U_6464)) ) ),
    inference(variable_rename,[status(thm)],[f_1119_1]) ).

fof(f_1119_3,plain,
    ( ! [U_6478,U_6476,U_6474,U_6472,U_6470] :
        ( 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,U_6478),U_6476),U_6474),U_6472),U_6470))
        | ~ 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_1,U_6478),U_6476),U_6474),U_6472),U_6470)) )
    & ! [U_6477,U_6475,U_6473,U_6471,U_6469] :
        ( 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_1,U_6477),U_6475),U_6473),U_6471),U_6469))
        | ~ 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,U_6477),U_6475),U_6473),U_6471),U_6469)) ) ),
    inference(miniscope,[status(thm)],[f_1119_2]) ).

cnf(f_1119_4,plain,
    ( 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_1,U_6477),U_6475),U_6473),U_6471),U_6469))
    | ~ 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,U_6477),U_6475),U_6473),U_6471),U_6469)) ),
    inference(clausify,[status(thm)],[f_1119_3]) ).

cnf(f_1119_5,plain,
    ( 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,U_6478),U_6476),U_6474),U_6472),U_6470))
    | ~ 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_1,U_6478),U_6476),U_6474),U_6472),U_6470)) ),
    inference(clausify,[status(thm)],[f_1119_3]) ).

fof(f_1120_1,plain,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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_1,Pa),Hb),Ea),Esa),Ts))
      | ~ 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),Hb),Ea),Esa),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_972_wts_H__wts]) ).

fof(f_1120_2,plain,
    ! [U_6483,U_6482,U_6481,U_6480,U_6479] :
      ( 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_1,U_6483),U_6482),U_6481),U_6480),U_6479))
      | ~ 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,U_6483),U_6482),U_6481),U_6480),U_6479)) ),
    inference(variable_rename,[status(thm)],[f_1120_1]) ).

cnf(f_1120_3,plain,
    ( 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_1,U_6483),U_6482),U_6481),U_6480),U_6479))
    | ~ 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,U_6483),U_6482),U_6481),U_6480),U_6479)) ),
    inference(clausify,[status(thm)],[f_1120_2]) ).

fof(f_1121_1,plain,
    ! [Pa,Hb,Ea,Esa,Ts] :
      ( 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),Hb),Ea),Esa),Ts))
      | ~ 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_1,Pa),Hb),Ea),Esa),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_973_wts__wts_H]) ).

fof(f_1121_2,plain,
    ! [U_6488,U_6487,U_6486,U_6485,U_6484] :
      ( 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,U_6488),U_6487),U_6486),U_6485),U_6484))
      | ~ 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_1,U_6488),U_6487),U_6486),U_6485),U_6484)) ),
    inference(variable_rename,[status(thm)],[f_1121_1]) ).

cnf(f_1121_3,plain,
    ( 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,U_6488),U_6487),U_6486),U_6485),U_6484))
    | ~ 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_1,U_6488),U_6487),U_6486),U_6485),U_6484)) ),
    inference(clausify,[status(thm)],[f_1121_2]) ).

fof(f_1122_1,plain,
    ! [X_a,Ts_1,Pa,Hb,Vs_1,Ts] :
      ( 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),Hb)),Vs_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)),Ts),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),Hb)),Vs_1),Ts)) ),
    inference(fof_nnf,[status(thm)],[fact_974_confs__widens]) ).

fof(f_1122_2,plain,
    ! [U_6494,U_6493,U_6492,U_6491,U_6490,U_6489] :
      ( 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,U_6494)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6494),U_6492),U_6491)),U_6490),U_6493))
      | ~ 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,U_6494)))))))),fun(ty,fun(ty,bool)),widen(U_6494),U_6492)),U_6489),U_6493))
      | ~ 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,U_6494)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6494),U_6492),U_6491)),U_6490),U_6489)) ),
    inference(variable_rename,[status(thm)],[f_1122_1]) ).

cnf(f_1122_3,plain,
    ( 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,U_6494)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6494),U_6492),U_6491)),U_6490),U_6493))
    | ~ 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,U_6494)))))))),fun(ty,fun(ty,bool)),widen(U_6494),U_6492)),U_6489),U_6493))
    | ~ 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,U_6494)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6494),U_6492),U_6491)),U_6490),U_6489)) ),
    inference(clausify,[status(thm)],[f_1122_2]) ).

fof(f_1123_1,plain,
    ! [M,Ta,Esa,Ts,Pa,Hb,Ea,Eb] :
      ( 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),Hb),Ea),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),Eb),M),Esa)),Ta))
      | ~ hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Hb),Ea),Esa),Ts))
      | ~ 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),Hb),Ea),Eb),nt)) ),
    inference(fof_nnf,[status(thm)],[fact_975_WTrt_H__WTrts_H_Ointros_I13_J]) ).

fof(f_1123_2,plain,
    ! [U_6502,U_6501,U_6500,U_6499,U_6498,U_6497,U_6496,U_6495] :
      ( 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,U_6498),U_6497),U_6496),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6495),U_6502),U_6500)),U_6501))
      | ~ 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,U_6498),U_6497),U_6496),U_6500),U_6499))
      | ~ 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,U_6498),U_6497),U_6496),U_6495),nt)) ),
    inference(variable_rename,[status(thm)],[f_1123_1]) ).

cnf(f_1123_3,plain,
    ( 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,U_6498),U_6497),U_6496),hAPP(list(exp(list(char))),exp(list(char)),hAPP(list(char),fun(list(exp(list(char))),exp(list(char))),hAPP(exp(list(char)),fun(list(char),fun(list(exp(list(char))),exp(list(char)))),call(list(char)),U_6495),U_6502),U_6500)),U_6501))
    | ~ 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,U_6498),U_6497),U_6496),U_6500),U_6499))
    | ~ 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,U_6498),U_6497),U_6496),U_6495),nt)) ),
    inference(clausify,[status(thm)],[f_1123_2]) ).

fof(f_1124_1,plain,
    ! [Esa,Ts,Pa,Hb,Ea,Eb,Ta] :
      ( hBOOL(hAPP(list(ty),bool,hAPP(list(exp(list(char))),fun(list(ty),bool),hAPP(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,product_prod(list(list(char)),exp(list(char))))))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(fun(list(char),option(ty)),fun(list(exp(list(char))),fun(list(ty),bool)))),wTrts,Pa),Hb),Ea),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),Eb),Esa)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Ta),Ts)))
      | ~ 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),Hb),Ea),Esa),Ts))
      | ~ 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),Hb),Ea),Eb),Ta)) ),
    inference(fof_nnf,[status(thm)],[fact_976_WTrt_H__WTrts_H_Ointros_I15_J]) ).

fof(f_1124_2,plain,
    ! [U_6509,U_6508,U_6507,U_6506,U_6505,U_6504,U_6503] :
      ( 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,U_6507),U_6506),U_6505),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_6504),U_6509)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6503),U_6508)))
      | ~ 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,U_6507),U_6506),U_6505),U_6509),U_6508))
      | ~ 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,U_6507),U_6506),U_6505),U_6504),U_6503)) ),
    inference(variable_rename,[status(thm)],[f_1124_1]) ).

cnf(f_1124_3,plain,
    ( 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,U_6507),U_6506),U_6505),hAPP(list(exp(list(char))),list(exp(list(char))),hAPP(exp(list(char)),fun(list(exp(list(char))),list(exp(list(char)))),cons(exp(list(char))),U_6504),U_6509)),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6503),U_6508)))
    | ~ 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,U_6507),U_6506),U_6505),U_6509),U_6508))
    | ~ 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,U_6507),U_6506),U_6505),U_6504),U_6503)) ),
    inference(clausify,[status(thm)],[f_1124_2]) ).

fof(f_1125_1,plain,
    ! [X_a,Pa,Hb,Vs_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),Hb)),Vs_1),Ts_1))
        | ! [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))
            | 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,Hb)),Vs_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) ) )
      & ( ? [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))
            & 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,Hb)),Vs_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(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),Hb)),Vs_1),Ts_1)) ) ),
    inference(fof_nnf,[status(thm)],[fact_977_confs__conv__map]) ).

fof(f_1125_2,plain,
    ! [U_6516,U_6515,U_6514,U_6513,U_6512] :
      ( ( 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,U_6516)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6516),U_6515),U_6514)),U_6513),U_6512))
        | ! [U_6511] :
            ( ~ 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,U_6516)))))))),fun(ty,fun(ty,bool)),widen(U_6516),U_6515)),U_6511),U_6512))
            | 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,U_6514)),U_6513) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6511) ) )
      & ( ? [U_6510] :
            ( 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,U_6516)))))))),fun(ty,fun(ty,bool)),widen(U_6516),U_6515)),U_6510),U_6512))
            & 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,U_6514)),U_6513) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6510) )
        | ~ 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,U_6516)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6516),U_6515),U_6514)),U_6513),U_6512)) ) ),
    inference(variable_rename,[status(thm)],[f_1125_1]) ).

fof(f_1125_3,plain,
    ( ! [U_6526,U_6524,U_6522,U_6520,U_6518] :
        ( 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,U_6526)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6526),U_6524),U_6522)),U_6520),U_6518))
        | ! [U_6511] :
            ( ~ 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,U_6526)))))))),fun(ty,fun(ty,bool)),widen(U_6526),U_6524)),U_6511),U_6518))
            | 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,U_6522)),U_6520) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6511) ) )
    & ! [U_6525,U_6523,U_6521,U_6519,U_6517] :
        ( ? [U_6510] :
            ( 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,U_6525)))))))),fun(ty,fun(ty,bool)),widen(U_6525),U_6523)),U_6510),U_6517))
            & 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,U_6521)),U_6519) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6510) )
        | ~ 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,U_6525)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6525),U_6523),U_6521)),U_6519),U_6517)) ) ),
    inference(miniscope,[status(thm)],[f_1125_2]) ).

fof(f_1125_4,plain,
    ( ! [U_6526,U_6524,U_6522,U_6520,U_6518] :
        ( 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,U_6526)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6526),U_6524),U_6522)),U_6520),U_6518))
        | ! [U_6511] :
            ( ~ 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,U_6526)))))))),fun(ty,fun(ty,bool)),widen(U_6526),U_6524)),U_6511),U_6518))
            | 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,U_6522)),U_6520) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6511) ) )
    & ! [U_6525,U_6523,U_6521,U_6519,U_6517] :
        ( ( 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,U_6525)))))))),fun(ty,fun(ty,bool)),widen(U_6525),U_6523)),sK243(U_6525,U_6523,U_6521,U_6519,U_6517)),U_6517))
          & 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,U_6521)),U_6519) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),sK243(U_6525,U_6523,U_6521,U_6519,U_6517)) )
        | ~ 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,U_6525)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6525),U_6523),U_6521)),U_6519),U_6517)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK243]),skolemize(U_6510,sK243(U_6525,U_6523,U_6521,U_6519,U_6517))],[f_1125_3]) ).

cnf(f_1125_5,plain,
    ( 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,U_6521)),U_6519) = hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),sK243(U_6525,U_6523,U_6521,U_6519,U_6517))
    | ~ 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,U_6525)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6525),U_6523),U_6521)),U_6519),U_6517)) ),
    inference(clausify,[status(thm)],[f_1125_4]) ).

cnf(f_1125_6,plain,
    ( 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,U_6525)))))))),fun(ty,fun(ty,bool)),widen(U_6525),U_6523)),sK243(U_6525,U_6523,U_6521,U_6519,U_6517)),U_6517))
    | ~ 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,U_6525)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6525),U_6523),U_6521)),U_6519),U_6517)) ),
    inference(clausify,[status(thm)],[f_1125_4]) ).

cnf(f_1125_7,plain,
    ( 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,U_6526)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6526),U_6524),U_6522)),U_6520),U_6518))
    | ~ 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,U_6526)))))))),fun(ty,fun(ty,bool)),widen(U_6526),U_6524)),U_6511),U_6518))
    | 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,U_6522)),U_6520) != hAPP(list(ty),list(option(ty)),hAPP(fun(ty,option(ty)),fun(list(ty),list(option(ty))),map(ty,option(ty)),some(ty)),U_6511) ),
    inference(clausify,[status(thm)],[f_1125_4]) ).

fof(f_1126_1,plain,
    ! [X_a,Pa,Hb,Xs,Y_1,Ys] :
      ( ( hBOOL(hAPP(list(ty),bool,hAPP(list(val),fun(list(ty),bool),hAPP(fun(val,fun(ty,bool)),fun(list(val),fun(list(ty),bool)),list_all2(val,ty),hAPP(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(X_a),Pa),Hb)),Xs),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Y_1),Ys)))
        | ! [Z,Zs_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),Hb)),Zs_1),Ys))
            | ~ 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),Hb),Z),Y_1))
            | Xs != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),Z),Zs_1) ) )
      & ( ? [Z,Zs_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),Hb)),Zs_1),Ys))
            & 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),Hb),Z),Y_1))
            & Xs = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),Z),Zs_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),Hb)),Xs),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),Y_1),Ys))) ) ),
    inference(fof_nnf,[status(thm)],[fact_978_confs__Cons2]) ).

fof(f_1126_2,plain,
    ! [U_6536,U_6535,U_6534,U_6533,U_6532,U_6531] :
      ( ( 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534)),U_6533),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6532),U_6531)))
        | ! [U_6530,U_6529] :
            ( ~ 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534)),U_6529),U_6531))
            | ~ 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534),U_6530),U_6532))
            | U_6533 != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6530),U_6529) ) )
      & ( ? [U_6528,U_6527] :
            ( 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534)),U_6527),U_6531))
            & 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534),U_6528),U_6532))
            & U_6533 = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6528),U_6527) )
        | ~ 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,U_6536)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6536),U_6535),U_6534)),U_6533),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6532),U_6531))) ) ),
    inference(variable_rename,[status(thm)],[f_1126_1]) ).

fof(f_1126_3,plain,
    ( ! [U_6548,U_6546,U_6544,U_6542,U_6540,U_6538] :
        ( 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6542),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6540),U_6538)))
        | ! [U_6530] :
            ( ! [U_6529] :
                ( ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6529),U_6538))
                | U_6542 != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6530),U_6529) )
            | ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544),U_6530),U_6540)) ) )
    & ! [U_6547,U_6545,U_6543,U_6541,U_6539,U_6537] :
        ( ? [U_6528] :
            ( ? [U_6527] :
                ( 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6527),U_6537))
                & U_6541 = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6528),U_6527) )
            & 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543),U_6528),U_6539)) )
        | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ) ),
    inference(miniscope,[status(thm)],[f_1126_2]) ).

fof(f_1126_4,plain,
    ( ! [U_6548,U_6546,U_6544,U_6542,U_6540,U_6538] :
        ( 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6542),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6540),U_6538)))
        | ! [U_6530] :
            ( ! [U_6529] :
                ( ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6529),U_6538))
                | U_6542 != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6530),U_6529) )
            | ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544),U_6530),U_6540)) ) )
    & ! [U_6547,U_6545,U_6543,U_6541,U_6539,U_6537] :
        ( ( ? [U_6527] :
              ( 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6527),U_6537))
              & U_6541 = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6527) )
          & 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6539)) )
        | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK244]),skolemize(U_6528,sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537))],[f_1126_3]) ).

fof(f_1126_5,plain,
    ( ! [U_6548,U_6546,U_6544,U_6542,U_6540,U_6538] :
        ( 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6542),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6540),U_6538)))
        | ! [U_6530] :
            ( ! [U_6529] :
                ( ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6529),U_6538))
                | U_6542 != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6530),U_6529) )
            | ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544),U_6530),U_6540)) ) )
    & ! [U_6547,U_6545,U_6543,U_6541,U_6539,U_6537] :
        ( ( 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),sK245(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6537))
          & U_6541 = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),sK245(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537))
          & 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6539)) )
        | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK245]),skolemize(U_6527,sK245(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537))],[f_1126_4]) ).

cnf(f_1126_6,plain,
    ( 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6539))
    | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ),
    inference(clausify,[status(thm)],[f_1126_5]) ).

cnf(f_1126_7,plain,
    ( U_6541 = hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),sK244(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),sK245(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537))
    | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ),
    inference(clausify,[status(thm)],[f_1126_5]) ).

cnf(f_1126_8,plain,
    ( 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),sK245(U_6547,U_6545,U_6543,U_6541,U_6539,U_6537)),U_6537))
    | ~ 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,U_6547)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6547),U_6545),U_6543)),U_6541),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6539),U_6537))) ),
    inference(clausify,[status(thm)],[f_1126_5]) ).

cnf(f_1126_9,plain,
    ( 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6542),hAPP(list(ty),list(ty),hAPP(ty,fun(list(ty),list(ty)),cons(ty),U_6540),U_6538)))
    | ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544)),U_6529),U_6538))
    | U_6542 != hAPP(list(val),list(val),hAPP(val,fun(list(val),list(val)),cons(val),U_6530),U_6529)
    | ~ 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,U_6548)))))))),fun(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(val,fun(ty,bool))),conf(U_6548),U_6546),U_6544),U_6530),U_6540)) ),
    inference(clausify,[status(thm)],[f_1126_5]) ).

fof(f_1127_1,plain,
    ! [X_b,X_a,Pa,Xs,Ys,Zs] :
      ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs)))
        | ! [Us,Vs_2] :
            ( ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Vs_2),Zs))
            | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us),Ys))
            | hAPP(list(X_a),nat,size_size(list(X_a)),Vs_2) != hAPP(list(X_b),nat,size_size(list(X_b)),Zs)
            | hAPP(list(X_a),nat,size_size(list(X_a)),Us) != hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
            | Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Vs_2) ) )
      & ( ? [Us,Vs_2] :
            ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Vs_2),Zs))
            & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us),Ys))
            & hAPP(list(X_a),nat,size_size(list(X_a)),Vs_2) = hAPP(list(X_b),nat,size_size(list(X_b)),Zs)
            & hAPP(list(X_a),nat,size_size(list(X_a)),Us) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
            & Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Vs_2) )
        | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_979_list__all2__append2]) ).

fof(f_1127_2,plain,
    ! [U_6558,U_6557,U_6556,U_6555,U_6554,U_6553] :
      ( ( hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6555),hAPP(list(U_6558),list(U_6558),hAPP(list(U_6558),fun(list(U_6558),list(U_6558)),append(U_6558),U_6554),U_6553)))
        | ! [U_6552,U_6551] :
            ( ~ hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6551),U_6553))
            | ~ hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6552),U_6554))
            | hAPP(list(U_6557),nat,size_size(list(U_6557)),U_6551) != hAPP(list(U_6558),nat,size_size(list(U_6558)),U_6553)
            | hAPP(list(U_6557),nat,size_size(list(U_6557)),U_6552) != hAPP(list(U_6558),nat,size_size(list(U_6558)),U_6554)
            | U_6555 != hAPP(list(U_6557),list(U_6557),hAPP(list(U_6557),fun(list(U_6557),list(U_6557)),append(U_6557),U_6552),U_6551) ) )
      & ( ? [U_6550,U_6549] :
            ( hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6549),U_6553))
            & hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6550),U_6554))
            & hAPP(list(U_6557),nat,size_size(list(U_6557)),U_6549) = hAPP(list(U_6558),nat,size_size(list(U_6558)),U_6553)
            & hAPP(list(U_6557),nat,size_size(list(U_6557)),U_6550) = hAPP(list(U_6558),nat,size_size(list(U_6558)),U_6554)
            & U_6555 = hAPP(list(U_6557),list(U_6557),hAPP(list(U_6557),fun(list(U_6557),list(U_6557)),append(U_6557),U_6550),U_6549) )
        | ~ hBOOL(hAPP(list(U_6558),bool,hAPP(list(U_6557),fun(list(U_6558),bool),hAPP(fun(U_6557,fun(U_6558,bool)),fun(list(U_6557),fun(list(U_6558),bool)),list_all2(U_6557,U_6558),U_6556),U_6555),hAPP(list(U_6558),list(U_6558),hAPP(list(U_6558),fun(list(U_6558),list(U_6558)),append(U_6558),U_6554),U_6553))) ) ),
    inference(variable_rename,[status(thm)],[f_1127_1]) ).

fof(f_1127_3,plain,
    ( ! [U_6570,U_6568,U_6566,U_6564,U_6562,U_6560] :
        ( hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6564),hAPP(list(U_6570),list(U_6570),hAPP(list(U_6570),fun(list(U_6570),list(U_6570)),append(U_6570),U_6562),U_6560)))
        | ! [U_6552] :
            ( ! [U_6551] :
                ( ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6551),U_6560))
                | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6551) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6560)
                | U_6564 != hAPP(list(U_6568),list(U_6568),hAPP(list(U_6568),fun(list(U_6568),list(U_6568)),append(U_6568),U_6552),U_6551) )
            | ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6552),U_6562))
            | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6552) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6562) ) )
    & ! [U_6569,U_6567,U_6565,U_6563,U_6561,U_6559] :
        ( ? [U_6550] :
            ( ? [U_6549] :
                ( hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6549),U_6559))
                & hAPP(list(U_6567),nat,size_size(list(U_6567)),U_6549) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6559)
                & U_6563 = hAPP(list(U_6567),list(U_6567),hAPP(list(U_6567),fun(list(U_6567),list(U_6567)),append(U_6567),U_6550),U_6549) )
            & hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6550),U_6561))
            & hAPP(list(U_6567),nat,size_size(list(U_6567)),U_6550) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6561) )
        | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ) ),
    inference(miniscope,[status(thm)],[f_1127_2]) ).

fof(f_1127_4,plain,
    ( ! [U_6570,U_6568,U_6566,U_6564,U_6562,U_6560] :
        ( hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6564),hAPP(list(U_6570),list(U_6570),hAPP(list(U_6570),fun(list(U_6570),list(U_6570)),append(U_6570),U_6562),U_6560)))
        | ! [U_6552] :
            ( ! [U_6551] :
                ( ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6551),U_6560))
                | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6551) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6560)
                | U_6564 != hAPP(list(U_6568),list(U_6568),hAPP(list(U_6568),fun(list(U_6568),list(U_6568)),append(U_6568),U_6552),U_6551) )
            | ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6552),U_6562))
            | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6552) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6562) ) )
    & ! [U_6569,U_6567,U_6565,U_6563,U_6561,U_6559] :
        ( ( ? [U_6549] :
              ( hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6549),U_6559))
              & hAPP(list(U_6567),nat,size_size(list(U_6567)),U_6549) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6559)
              & U_6563 = hAPP(list(U_6567),list(U_6567),hAPP(list(U_6567),fun(list(U_6567),list(U_6567)),append(U_6567),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6549) )
          & hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6561))
          & hAPP(list(U_6567),nat,size_size(list(U_6567)),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6561) )
        | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK246]),skolemize(U_6550,sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559))],[f_1127_3]) ).

fof(f_1127_5,plain,
    ( ! [U_6570,U_6568,U_6566,U_6564,U_6562,U_6560] :
        ( hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6564),hAPP(list(U_6570),list(U_6570),hAPP(list(U_6570),fun(list(U_6570),list(U_6570)),append(U_6570),U_6562),U_6560)))
        | ! [U_6552] :
            ( ! [U_6551] :
                ( ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6551),U_6560))
                | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6551) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6560)
                | U_6564 != hAPP(list(U_6568),list(U_6568),hAPP(list(U_6568),fun(list(U_6568),list(U_6568)),append(U_6568),U_6552),U_6551) )
            | ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6552),U_6562))
            | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6552) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6562) ) )
    & ! [U_6569,U_6567,U_6565,U_6563,U_6561,U_6559] :
        ( ( hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6559))
          & hAPP(list(U_6567),nat,size_size(list(U_6567)),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6559)
          & U_6563 = hAPP(list(U_6567),list(U_6567),hAPP(list(U_6567),fun(list(U_6567),list(U_6567)),append(U_6567),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559))
          & hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6561))
          & hAPP(list(U_6567),nat,size_size(list(U_6567)),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6561) )
        | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK247]),skolemize(U_6549,sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559))],[f_1127_4]) ).

cnf(f_1127_6,plain,
    ( hAPP(list(U_6567),nat,size_size(list(U_6567)),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6561)
    | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

cnf(f_1127_7,plain,
    ( hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6561))
    | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

cnf(f_1127_8,plain,
    ( U_6563 = hAPP(list(U_6567),list(U_6567),hAPP(list(U_6567),fun(list(U_6567),list(U_6567)),append(U_6567),sK246(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559))
    | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

cnf(f_1127_9,plain,
    ( hAPP(list(U_6567),nat,size_size(list(U_6567)),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)) = hAPP(list(U_6569),nat,size_size(list(U_6569)),U_6559)
    | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

cnf(f_1127_10,plain,
    ( hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),sK247(U_6569,U_6567,U_6565,U_6563,U_6561,U_6559)),U_6559))
    | ~ hBOOL(hAPP(list(U_6569),bool,hAPP(list(U_6567),fun(list(U_6569),bool),hAPP(fun(U_6567,fun(U_6569,bool)),fun(list(U_6567),fun(list(U_6569),bool)),list_all2(U_6567,U_6569),U_6565),U_6563),hAPP(list(U_6569),list(U_6569),hAPP(list(U_6569),fun(list(U_6569),list(U_6569)),append(U_6569),U_6561),U_6559))) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

cnf(f_1127_11,plain,
    ( hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6564),hAPP(list(U_6570),list(U_6570),hAPP(list(U_6570),fun(list(U_6570),list(U_6570)),append(U_6570),U_6562),U_6560)))
    | ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6551),U_6560))
    | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6551) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6560)
    | U_6564 != hAPP(list(U_6568),list(U_6568),hAPP(list(U_6568),fun(list(U_6568),list(U_6568)),append(U_6568),U_6552),U_6551)
    | ~ hBOOL(hAPP(list(U_6570),bool,hAPP(list(U_6568),fun(list(U_6570),bool),hAPP(fun(U_6568,fun(U_6570,bool)),fun(list(U_6568),fun(list(U_6570),bool)),list_all2(U_6568,U_6570),U_6566),U_6552),U_6562))
    | hAPP(list(U_6568),nat,size_size(list(U_6568)),U_6552) != hAPP(list(U_6570),nat,size_size(list(U_6570)),U_6562) ),
    inference(clausify,[status(thm)],[f_1127_5]) ).

fof(f_1128_1,plain,
    ! [X_b,X_a,Pa,Xs,Ys,Zs] :
      ( ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)),Zs))
        | ! [Us,Vs_2] :
            ( ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ys),Vs_2))
            | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Us))
            | hAPP(list(X_b),nat,size_size(list(X_b)),Vs_2) != hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
            | hAPP(list(X_b),nat,size_size(list(X_b)),Us) != hAPP(list(X_a),nat,size_size(list(X_a)),Xs)
            | Zs != hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us),Vs_2) ) )
      & ( ? [Us,Vs_2] :
            ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ys),Vs_2))
            & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs),Us))
            & hAPP(list(X_b),nat,size_size(list(X_b)),Vs_2) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
            & hAPP(list(X_b),nat,size_size(list(X_b)),Us) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs)
            & Zs = hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us),Vs_2) )
        | ~ hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys)),Zs)) ) ),
    inference(fof_nnf,[status(thm)],[fact_980_list__all2__append1]) ).

fof(f_1128_2,plain,
    ! [U_6580,U_6579,U_6578,U_6577,U_6576,U_6575] :
      ( ( hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),hAPP(list(U_6579),list(U_6579),hAPP(list(U_6579),fun(list(U_6579),list(U_6579)),append(U_6579),U_6577),U_6576)),U_6575))
        | ! [U_6574,U_6573] :
            ( ~ hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),U_6576),U_6573))
            | ~ hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),U_6577),U_6574))
            | hAPP(list(U_6580),nat,size_size(list(U_6580)),U_6573) != hAPP(list(U_6579),nat,size_size(list(U_6579)),U_6576)
            | hAPP(list(U_6580),nat,size_size(list(U_6580)),U_6574) != hAPP(list(U_6579),nat,size_size(list(U_6579)),U_6577)
            | U_6575 != hAPP(list(U_6580),list(U_6580),hAPP(list(U_6580),fun(list(U_6580),list(U_6580)),append(U_6580),U_6574),U_6573) ) )
      & ( ? [U_6572,U_6571] :
            ( hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),U_6576),U_6571))
            & hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),U_6577),U_6572))
            & hAPP(list(U_6580),nat,size_size(list(U_6580)),U_6571) = hAPP(list(U_6579),nat,size_size(list(U_6579)),U_6576)
            & hAPP(list(U_6580),nat,size_size(list(U_6580)),U_6572) = hAPP(list(U_6579),nat,size_size(list(U_6579)),U_6577)
            & U_6575 = hAPP(list(U_6580),list(U_6580),hAPP(list(U_6580),fun(list(U_6580),list(U_6580)),append(U_6580),U_6572),U_6571) )
        | ~ hBOOL(hAPP(list(U_6580),bool,hAPP(list(U_6579),fun(list(U_6580),bool),hAPP(fun(U_6579,fun(U_6580,bool)),fun(list(U_6579),fun(list(U_6580),bool)),list_all2(U_6579,U_6580),U_6578),hAPP(list(U_6579),list(U_6579),hAPP(list(U_6579),fun(list(U_6579),list(U_6579)),append(U_6579),U_6577),U_6576)),U_6575)) ) ),
    inference(variable_rename,[status(thm)],[f_1128_1]) ).

fof(f_1128_3,plain,
    ( ! [U_6592,U_6590,U_6588,U_6586,U_6584,U_6582] :
        ( hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),hAPP(list(U_6590),list(U_6590),hAPP(list(U_6590),fun(list(U_6590),list(U_6590)),append(U_6590),U_6586),U_6584)),U_6582))
        | ! [U_6574] :
            ( ! [U_6573] :
                ( ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6584),U_6573))
                | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6573) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6584)
                | U_6582 != hAPP(list(U_6592),list(U_6592),hAPP(list(U_6592),fun(list(U_6592),list(U_6592)),append(U_6592),U_6574),U_6573) )
            | ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6586),U_6574))
            | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6574) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6586) ) )
    & ! [U_6591,U_6589,U_6587,U_6585,U_6583,U_6581] :
        ( ? [U_6572] :
            ( ? [U_6571] :
                ( hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6583),U_6571))
                & hAPP(list(U_6591),nat,size_size(list(U_6591)),U_6571) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6583)
                & U_6581 = hAPP(list(U_6591),list(U_6591),hAPP(list(U_6591),fun(list(U_6591),list(U_6591)),append(U_6591),U_6572),U_6571) )
            & hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6585),U_6572))
            & hAPP(list(U_6591),nat,size_size(list(U_6591)),U_6572) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6585) )
        | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ) ),
    inference(miniscope,[status(thm)],[f_1128_2]) ).

fof(f_1128_4,plain,
    ( ! [U_6592,U_6590,U_6588,U_6586,U_6584,U_6582] :
        ( hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),hAPP(list(U_6590),list(U_6590),hAPP(list(U_6590),fun(list(U_6590),list(U_6590)),append(U_6590),U_6586),U_6584)),U_6582))
        | ! [U_6574] :
            ( ! [U_6573] :
                ( ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6584),U_6573))
                | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6573) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6584)
                | U_6582 != hAPP(list(U_6592),list(U_6592),hAPP(list(U_6592),fun(list(U_6592),list(U_6592)),append(U_6592),U_6574),U_6573) )
            | ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6586),U_6574))
            | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6574) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6586) ) )
    & ! [U_6591,U_6589,U_6587,U_6585,U_6583,U_6581] :
        ( ( ? [U_6571] :
              ( hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6583),U_6571))
              & hAPP(list(U_6591),nat,size_size(list(U_6591)),U_6571) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6583)
              & U_6581 = hAPP(list(U_6591),list(U_6591),hAPP(list(U_6591),fun(list(U_6591),list(U_6591)),append(U_6591),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)),U_6571) )
          & hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6585),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)))
          & hAPP(list(U_6591),nat,size_size(list(U_6591)),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6585) )
        | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK248]),skolemize(U_6572,sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581))],[f_1128_3]) ).

fof(f_1128_5,plain,
    ( ! [U_6592,U_6590,U_6588,U_6586,U_6584,U_6582] :
        ( hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),hAPP(list(U_6590),list(U_6590),hAPP(list(U_6590),fun(list(U_6590),list(U_6590)),append(U_6590),U_6586),U_6584)),U_6582))
        | ! [U_6574] :
            ( ! [U_6573] :
                ( ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6584),U_6573))
                | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6573) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6584)
                | U_6582 != hAPP(list(U_6592),list(U_6592),hAPP(list(U_6592),fun(list(U_6592),list(U_6592)),append(U_6592),U_6574),U_6573) )
            | ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6586),U_6574))
            | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6574) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6586) ) )
    & ! [U_6591,U_6589,U_6587,U_6585,U_6583,U_6581] :
        ( ( hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6583),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)))
          & hAPP(list(U_6591),nat,size_size(list(U_6591)),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6583)
          & U_6581 = hAPP(list(U_6591),list(U_6591),hAPP(list(U_6591),fun(list(U_6591),list(U_6591)),append(U_6591),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581))
          & hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6585),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)))
          & hAPP(list(U_6591),nat,size_size(list(U_6591)),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6585) )
        | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK249]),skolemize(U_6571,sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581))],[f_1128_4]) ).

cnf(f_1128_6,plain,
    ( hAPP(list(U_6591),nat,size_size(list(U_6591)),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6585)
    | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

cnf(f_1128_7,plain,
    ( hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6585),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)))
    | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

cnf(f_1128_8,plain,
    ( U_6581 = hAPP(list(U_6591),list(U_6591),hAPP(list(U_6591),fun(list(U_6591),list(U_6591)),append(U_6591),sK248(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581))
    | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

cnf(f_1128_9,plain,
    ( hAPP(list(U_6591),nat,size_size(list(U_6591)),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)) = hAPP(list(U_6589),nat,size_size(list(U_6589)),U_6583)
    | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

cnf(f_1128_10,plain,
    ( hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),U_6583),sK249(U_6591,U_6589,U_6587,U_6585,U_6583,U_6581)))
    | ~ hBOOL(hAPP(list(U_6591),bool,hAPP(list(U_6589),fun(list(U_6591),bool),hAPP(fun(U_6589,fun(U_6591,bool)),fun(list(U_6589),fun(list(U_6591),bool)),list_all2(U_6589,U_6591),U_6587),hAPP(list(U_6589),list(U_6589),hAPP(list(U_6589),fun(list(U_6589),list(U_6589)),append(U_6589),U_6585),U_6583)),U_6581)) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

cnf(f_1128_11,plain,
    ( hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),hAPP(list(U_6590),list(U_6590),hAPP(list(U_6590),fun(list(U_6590),list(U_6590)),append(U_6590),U_6586),U_6584)),U_6582))
    | ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6584),U_6573))
    | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6573) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6584)
    | U_6582 != hAPP(list(U_6592),list(U_6592),hAPP(list(U_6592),fun(list(U_6592),list(U_6592)),append(U_6592),U_6574),U_6573)
    | ~ hBOOL(hAPP(list(U_6592),bool,hAPP(list(U_6590),fun(list(U_6592),bool),hAPP(fun(U_6590,fun(U_6592,bool)),fun(list(U_6590),fun(list(U_6592),bool)),list_all2(U_6590,U_6592),U_6588),U_6586),U_6574))
    | hAPP(list(U_6592),nat,size_size(list(U_6592)),U_6574) != hAPP(list(U_6590),nat,size_size(list(U_6590)),U_6586) ),
    inference(clausify,[status(thm)],[f_1128_5]) ).

fof(f_1129_1,plain,
    ! [X_a,X_1,Y_1,R_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),Z),Y_1)),R_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),Z)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1))) ),
    inference(fof_nnf,[status(thm)],[fact_981_tranclD2]) ).

fof(f_1129_2,plain,
    ! [U_6597,U_6596,U_6595,U_6594] :
      ( ? [U_6593] :
          ( hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6593),U_6595)),U_6594))
          & hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),U_6593)),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_rtrancl(U_6597),U_6594))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),U_6595)),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_trancl(U_6597),U_6594))) ),
    inference(variable_rename,[status(thm)],[f_1129_1]) ).

fof(f_1129_3,plain,
    ! [U_6597,U_6596,U_6595,U_6594] :
      ( ( hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),sK250(U_6597,U_6596,U_6595,U_6594)),U_6595)),U_6594))
        & hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),sK250(U_6597,U_6596,U_6595,U_6594))),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_rtrancl(U_6597),U_6594))) )
      | ~ hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),U_6595)),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_trancl(U_6597),U_6594))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK250]),skolemize(U_6593,sK250(U_6597,U_6596,U_6595,U_6594))],[f_1129_2]) ).

cnf(f_1129_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),sK250(U_6597,U_6596,U_6595,U_6594))),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_rtrancl(U_6597),U_6594)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),U_6595)),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_trancl(U_6597),U_6594))) ),
    inference(clausify,[status(thm)],[f_1129_3]) ).

cnf(f_1129_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),sK250(U_6597,U_6596,U_6595,U_6594)),U_6595)),U_6594))
    | ~ hBOOL(hAPP(fun(product_prod(U_6597,U_6597),bool),bool,hAPP(product_prod(U_6597,U_6597),fun(fun(product_prod(U_6597,U_6597),bool),bool),member(product_prod(U_6597,U_6597)),hAPP(U_6597,product_prod(U_6597,U_6597),hAPP(U_6597,fun(U_6597,product_prod(U_6597,U_6597)),product_Pair(U_6597,U_6597),U_6596),U_6595)),hAPP(fun(product_prod(U_6597,U_6597),bool),fun(product_prod(U_6597,U_6597),bool),transitive_trancl(U_6597),U_6594))) ),
    inference(clausify,[status(thm)],[f_1129_3]) ).

fof(f_1130_1,plain,
    ! [X_a,X_1,Y_1,R_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),Z),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_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),Z)),R_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)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_trancl(X_a),R_1))) ),
    inference(fof_nnf,[status(thm)],[fact_982_tranclD]) ).

fof(f_1130_2,plain,
    ! [U_6602,U_6601,U_6600,U_6599] :
      ( ? [U_6598] :
          ( hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6598),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_rtrancl(U_6602),U_6599)))
          & hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),U_6598)),U_6599)) )
      | ~ hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_trancl(U_6602),U_6599))) ),
    inference(variable_rename,[status(thm)],[f_1130_1]) ).

fof(f_1130_3,plain,
    ! [U_6602,U_6601,U_6600,U_6599] :
      ( ( hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),sK251(U_6602,U_6601,U_6600,U_6599)),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_rtrancl(U_6602),U_6599)))
        & hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),sK251(U_6602,U_6601,U_6600,U_6599))),U_6599)) )
      | ~ hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_trancl(U_6602),U_6599))) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK251]),skolemize(U_6598,sK251(U_6602,U_6601,U_6600,U_6599))],[f_1130_2]) ).

cnf(f_1130_4,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),sK251(U_6602,U_6601,U_6600,U_6599))),U_6599))
    | ~ hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_trancl(U_6602),U_6599))) ),
    inference(clausify,[status(thm)],[f_1130_3]) ).

cnf(f_1130_5,plain,
    ( hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),sK251(U_6602,U_6601,U_6600,U_6599)),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_rtrancl(U_6602),U_6599)))
    | ~ hBOOL(hAPP(fun(product_prod(U_6602,U_6602),bool),bool,hAPP(product_prod(U_6602,U_6602),fun(fun(product_prod(U_6602,U_6602),bool),bool),member(product_prod(U_6602,U_6602)),hAPP(U_6602,product_prod(U_6602,U_6602),hAPP(U_6602,fun(U_6602,product_prod(U_6602,U_6602)),product_Pair(U_6602,U_6602),U_6601),U_6600)),hAPP(fun(product_prod(U_6602,U_6602),bool),fun(product_prod(U_6602,U_6602),bool),transitive_trancl(U_6602),U_6599))) ),
    inference(clausify,[status(thm)],[f_1130_3]) ).

fof(f_1131_1,plain,
    ! [L,Eb,Hb,Lb,E_b,H_b,L_b,Pa,Vs_1,Vs,Ts] :
      ( 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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_b),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_b),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))))
      | L != 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_b),Lb),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vs))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),E_b))
      | ~ 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)))),Eb),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))),Hb),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),Lb),Vs),Vs_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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(list(char)),bool,distinct(list(char)),Vs))
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(ty),nat,size_size(list(ty)),Ts)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) != hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    inference(fof_nnf,[status(thm)],[fact_983_blocksRedsFinal]) ).

fof(f_1131_2,plain,
    ! [U_6613,U_6612,U_6611,U_6610,U_6609,U_6608,U_6607,U_6606,U_6605,U_6604,U_6603] :
      ( 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))))),U_6604),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)))),U_6603),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))),U_6605),U_6612))))),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))),U_6611),U_6610))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6609),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))),U_6608),U_6613)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6606))))
      | U_6613 != 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)),U_6607),U_6610),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),U_6604))
      | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6609))
      | ~ 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)))),U_6612),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))),U_6611),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),U_6610),U_6604),U_6605)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6609),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))),U_6608),U_6607)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6606))))
      | ~ hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),U_6604))
      | hAPP(list(val),nat,size_size(list(val)),U_6605) != hAPP(list(ty),nat,size_size(list(ty)),U_6603)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6604) != hAPP(list(ty),nat,size_size(list(ty)),U_6603) ),
    inference(variable_rename,[status(thm)],[f_1131_1]) ).

cnf(f_1131_3,plain,
    ( 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))))),U_6604),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)))),U_6603),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))),U_6605),U_6612))))),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))),U_6611),U_6610))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6609),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))),U_6608),U_6613)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6606))))
    | U_6613 != 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)),U_6607),U_6610),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),U_6604))
    | ~ hBOOL(hAPP(exp(list(char)),bool,final(list(char)),U_6609))
    | ~ 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)))),U_6612),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))),U_6611),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),U_6610),U_6604),U_6605)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6609),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))),U_6608),U_6607)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6606))))
    | ~ hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),U_6604))
    | hAPP(list(val),nat,size_size(list(val)),U_6605) != hAPP(list(ty),nat,size_size(list(ty)),U_6603)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6604) != hAPP(list(ty),nat,size_size(list(ty)),U_6603) ),
    inference(clausify,[status(thm)],[f_1131_2]) ).

fof(f_1132_1,plain,
    ! [X_b,X_a,F,G,A_2,X_2] :
      ( ( hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),X_2) = hAPP(X_a,X_b,F,X_2)
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) )
      & ( hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),X_2) = hAPP(X_a,X_b,G,X_2)
        | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2)) ) ),
    inference(fof_nnf,[status(thm)],[fact_984_override__on__def]) ).

fof(f_1132_2,plain,
    ! [U_6619,U_6618,U_6617,U_6616,U_6615,U_6614] :
      ( ( hAPP(U_6618,U_6619,hAPP(fun(U_6618,bool),fun(U_6618,U_6619),hAPP(fun(U_6618,U_6619),fun(fun(U_6618,bool),fun(U_6618,U_6619)),hAPP(fun(U_6618,U_6619),fun(fun(U_6618,U_6619),fun(fun(U_6618,bool),fun(U_6618,U_6619))),override_on(U_6618,U_6619),U_6617),U_6616),U_6615),U_6614) = hAPP(U_6618,U_6619,U_6617,U_6614)
        | hBOOL(hAPP(fun(U_6618,bool),bool,hAPP(U_6618,fun(fun(U_6618,bool),bool),member(U_6618),U_6614),U_6615)) )
      & ( hAPP(U_6618,U_6619,hAPP(fun(U_6618,bool),fun(U_6618,U_6619),hAPP(fun(U_6618,U_6619),fun(fun(U_6618,bool),fun(U_6618,U_6619)),hAPP(fun(U_6618,U_6619),fun(fun(U_6618,U_6619),fun(fun(U_6618,bool),fun(U_6618,U_6619))),override_on(U_6618,U_6619),U_6617),U_6616),U_6615),U_6614) = hAPP(U_6618,U_6619,U_6616,U_6614)
        | ~ hBOOL(hAPP(fun(U_6618,bool),bool,hAPP(U_6618,fun(fun(U_6618,bool),bool),member(U_6618),U_6614),U_6615)) ) ),
    inference(variable_rename,[status(thm)],[f_1132_1]) ).

fof(f_1132_3,plain,
    ( ! [U_6631,U_6629,U_6627,U_6625,U_6623,U_6621] :
        ( hAPP(U_6629,U_6631,hAPP(fun(U_6629,bool),fun(U_6629,U_6631),hAPP(fun(U_6629,U_6631),fun(fun(U_6629,bool),fun(U_6629,U_6631)),hAPP(fun(U_6629,U_6631),fun(fun(U_6629,U_6631),fun(fun(U_6629,bool),fun(U_6629,U_6631))),override_on(U_6629,U_6631),U_6627),U_6625),U_6623),U_6621) = hAPP(U_6629,U_6631,U_6627,U_6621)
        | hBOOL(hAPP(fun(U_6629,bool),bool,hAPP(U_6629,fun(fun(U_6629,bool),bool),member(U_6629),U_6621),U_6623)) )
    & ! [U_6630,U_6628,U_6626,U_6624,U_6622,U_6620] :
        ( hAPP(U_6628,U_6630,hAPP(fun(U_6628,bool),fun(U_6628,U_6630),hAPP(fun(U_6628,U_6630),fun(fun(U_6628,bool),fun(U_6628,U_6630)),hAPP(fun(U_6628,U_6630),fun(fun(U_6628,U_6630),fun(fun(U_6628,bool),fun(U_6628,U_6630))),override_on(U_6628,U_6630),U_6626),U_6624),U_6622),U_6620) = hAPP(U_6628,U_6630,U_6624,U_6620)
        | ~ hBOOL(hAPP(fun(U_6628,bool),bool,hAPP(U_6628,fun(fun(U_6628,bool),bool),member(U_6628),U_6620),U_6622)) ) ),
    inference(miniscope,[status(thm)],[f_1132_2]) ).

cnf(f_1132_4,plain,
    ( hAPP(U_6628,U_6630,hAPP(fun(U_6628,bool),fun(U_6628,U_6630),hAPP(fun(U_6628,U_6630),fun(fun(U_6628,bool),fun(U_6628,U_6630)),hAPP(fun(U_6628,U_6630),fun(fun(U_6628,U_6630),fun(fun(U_6628,bool),fun(U_6628,U_6630))),override_on(U_6628,U_6630),U_6626),U_6624),U_6622),U_6620) = hAPP(U_6628,U_6630,U_6624,U_6620)
    | ~ hBOOL(hAPP(fun(U_6628,bool),bool,hAPP(U_6628,fun(fun(U_6628,bool),bool),member(U_6628),U_6620),U_6622)) ),
    inference(clausify,[status(thm)],[f_1132_3]) ).

cnf(f_1132_5,plain,
    ( hAPP(U_6629,U_6631,hAPP(fun(U_6629,bool),fun(U_6629,U_6631),hAPP(fun(U_6629,U_6631),fun(fun(U_6629,bool),fun(U_6629,U_6631)),hAPP(fun(U_6629,U_6631),fun(fun(U_6629,U_6631),fun(fun(U_6629,bool),fun(U_6629,U_6631))),override_on(U_6629,U_6631),U_6627),U_6625),U_6623),U_6621) = hAPP(U_6629,U_6631,U_6627,U_6621)
    | hBOOL(hAPP(fun(U_6629,bool),bool,hAPP(U_6629,fun(fun(U_6629,bool),bool),member(U_6629),U_6621),U_6623)) ),
    inference(clausify,[status(thm)],[f_1132_3]) ).

fof(f_1133_1,plain,
    ! [X_b,X_a,F,G,A_1,A_2] :
      ( hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),A_1) = hAPP(X_a,X_b,F,A_1)
      | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_985_override__on__apply__notin]) ).

fof(f_1133_2,plain,
    ! [U_6637,U_6636,U_6635,U_6634,U_6633,U_6632] :
      ( hAPP(U_6636,U_6637,hAPP(fun(U_6636,bool),fun(U_6636,U_6637),hAPP(fun(U_6636,U_6637),fun(fun(U_6636,bool),fun(U_6636,U_6637)),hAPP(fun(U_6636,U_6637),fun(fun(U_6636,U_6637),fun(fun(U_6636,bool),fun(U_6636,U_6637))),override_on(U_6636,U_6637),U_6635),U_6634),U_6632),U_6633) = hAPP(U_6636,U_6637,U_6635,U_6633)
      | hBOOL(hAPP(fun(U_6636,bool),bool,hAPP(U_6636,fun(fun(U_6636,bool),bool),member(U_6636),U_6633),U_6632)) ),
    inference(variable_rename,[status(thm)],[f_1133_1]) ).

cnf(f_1133_3,plain,
    ( hAPP(U_6636,U_6637,hAPP(fun(U_6636,bool),fun(U_6636,U_6637),hAPP(fun(U_6636,U_6637),fun(fun(U_6636,bool),fun(U_6636,U_6637)),hAPP(fun(U_6636,U_6637),fun(fun(U_6636,U_6637),fun(fun(U_6636,bool),fun(U_6636,U_6637))),override_on(U_6636,U_6637),U_6635),U_6634),U_6632),U_6633) = hAPP(U_6636,U_6637,U_6635,U_6633)
    | hBOOL(hAPP(fun(U_6636,bool),bool,hAPP(U_6636,fun(fun(U_6636,bool),bool),member(U_6636),U_6633),U_6632)) ),
    inference(clausify,[status(thm)],[f_1133_2]) ).

fof(f_1134_1,plain,
    ! [X_b,X_a,F,G,A_1,A_2] :
      ( hAPP(X_a,X_b,hAPP(fun(X_a,bool),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_a,X_b))),override_on(X_a,X_b),F),G),A_2),A_1) = hAPP(X_a,X_b,G,A_1)
      | ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ),
    inference(fof_nnf,[status(thm)],[fact_986_override__on__apply__in]) ).

fof(f_1134_2,plain,
    ! [U_6643,U_6642,U_6641,U_6640,U_6639,U_6638] :
      ( hAPP(U_6642,U_6643,hAPP(fun(U_6642,bool),fun(U_6642,U_6643),hAPP(fun(U_6642,U_6643),fun(fun(U_6642,bool),fun(U_6642,U_6643)),hAPP(fun(U_6642,U_6643),fun(fun(U_6642,U_6643),fun(fun(U_6642,bool),fun(U_6642,U_6643))),override_on(U_6642,U_6643),U_6641),U_6640),U_6638),U_6639) = hAPP(U_6642,U_6643,U_6640,U_6639)
      | ~ hBOOL(hAPP(fun(U_6642,bool),bool,hAPP(U_6642,fun(fun(U_6642,bool),bool),member(U_6642),U_6639),U_6638)) ),
    inference(variable_rename,[status(thm)],[f_1134_1]) ).

cnf(f_1134_3,plain,
    ( hAPP(U_6642,U_6643,hAPP(fun(U_6642,bool),fun(U_6642,U_6643),hAPP(fun(U_6642,U_6643),fun(fun(U_6642,bool),fun(U_6642,U_6643)),hAPP(fun(U_6642,U_6643),fun(fun(U_6642,U_6643),fun(fun(U_6642,bool),fun(U_6642,U_6643))),override_on(U_6642,U_6643),U_6641),U_6640),U_6638),U_6639) = hAPP(U_6642,U_6643,U_6640,U_6639)
    | ~ hBOOL(hAPP(fun(U_6642,bool),bool,hAPP(U_6642,fun(fun(U_6642,bool),bool),member(U_6642),U_6639),U_6638)) ),
    inference(clausify,[status(thm)],[f_1134_2]) ).

fof(f_1135_1,plain,
    ! [X_a,X_1,Xs] :
      ( ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs)))
        | ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) )
      & ( ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs))) )
        | ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs))) ) ),
    inference(fof_nnf,[status(thm)],[fact_987_distinct_Osimps_I2_J]) ).

fof(f_1135_2,plain,
    ! [U_6646,U_6645,U_6644] :
      ( ( hBOOL(hAPP(list(U_6646),bool,distinct(U_6646),hAPP(list(U_6646),list(U_6646),hAPP(U_6646,fun(list(U_6646),list(U_6646)),cons(U_6646),U_6645),U_6644)))
        | ~ hBOOL(hAPP(list(U_6646),bool,distinct(U_6646),U_6644))
        | hBOOL(hAPP(fun(U_6646,bool),bool,hAPP(U_6646,fun(fun(U_6646,bool),bool),member(U_6646),U_6645),hAPP(list(U_6646),fun(U_6646,bool),set(U_6646),U_6644))) )
      & ( ( hBOOL(hAPP(list(U_6646),bool,distinct(U_6646),U_6644))
          & ~ hBOOL(hAPP(fun(U_6646,bool),bool,hAPP(U_6646,fun(fun(U_6646,bool),bool),member(U_6646),U_6645),hAPP(list(U_6646),fun(U_6646,bool),set(U_6646),U_6644))) )
        | ~ hBOOL(hAPP(list(U_6646),bool,distinct(U_6646),hAPP(list(U_6646),list(U_6646),hAPP(U_6646,fun(list(U_6646),list(U_6646)),cons(U_6646),U_6645),U_6644))) ) ),
    inference(variable_rename,[status(thm)],[f_1135_1]) ).

fof(f_1135_3,plain,
    ( ! [U_6652,U_6650,U_6648] :
        ( hBOOL(hAPP(list(U_6652),bool,distinct(U_6652),hAPP(list(U_6652),list(U_6652),hAPP(U_6652,fun(list(U_6652),list(U_6652)),cons(U_6652),U_6650),U_6648)))
        | ~ hBOOL(hAPP(list(U_6652),bool,distinct(U_6652),U_6648))
        | hBOOL(hAPP(fun(U_6652,bool),bool,hAPP(U_6652,fun(fun(U_6652,bool),bool),member(U_6652),U_6650),hAPP(list(U_6652),fun(U_6652,bool),set(U_6652),U_6648))) )
    & ! [U_6651,U_6649,U_6647] :
        ( ( hBOOL(hAPP(list(U_6651),bool,distinct(U_6651),U_6647))
          & ~ hBOOL(hAPP(fun(U_6651,bool),bool,hAPP(U_6651,fun(fun(U_6651,bool),bool),member(U_6651),U_6649),hAPP(list(U_6651),fun(U_6651,bool),set(U_6651),U_6647))) )
        | ~ hBOOL(hAPP(list(U_6651),bool,distinct(U_6651),hAPP(list(U_6651),list(U_6651),hAPP(U_6651,fun(list(U_6651),list(U_6651)),cons(U_6651),U_6649),U_6647))) ) ),
    inference(miniscope,[status(thm)],[f_1135_2]) ).

cnf(f_1135_4,plain,
    ( ~ hBOOL(hAPP(fun(U_6651,bool),bool,hAPP(U_6651,fun(fun(U_6651,bool),bool),member(U_6651),U_6649),hAPP(list(U_6651),fun(U_6651,bool),set(U_6651),U_6647)))
    | ~ hBOOL(hAPP(list(U_6651),bool,distinct(U_6651),hAPP(list(U_6651),list(U_6651),hAPP(U_6651,fun(list(U_6651),list(U_6651)),cons(U_6651),U_6649),U_6647))) ),
    inference(clausify,[status(thm)],[f_1135_3]) ).

cnf(f_1135_5,plain,
    ( hBOOL(hAPP(list(U_6651),bool,distinct(U_6651),U_6647))
    | ~ hBOOL(hAPP(list(U_6651),bool,distinct(U_6651),hAPP(list(U_6651),list(U_6651),hAPP(U_6651,fun(list(U_6651),list(U_6651)),cons(U_6651),U_6649),U_6647))) ),
    inference(clausify,[status(thm)],[f_1135_3]) ).

cnf(f_1135_6,plain,
    ( hBOOL(hAPP(list(U_6652),bool,distinct(U_6652),hAPP(list(U_6652),list(U_6652),hAPP(U_6652,fun(list(U_6652),list(U_6652)),cons(U_6652),U_6650),U_6648)))
    | ~ hBOOL(hAPP(list(U_6652),bool,distinct(U_6652),U_6648))
    | hBOOL(hAPP(fun(U_6652,bool),bool,hAPP(U_6652,fun(fun(U_6652,bool),bool),member(U_6652),U_6650),hAPP(list(U_6652),fun(U_6652,bool),set(U_6652),U_6648))) ),
    inference(clausify,[status(thm)],[f_1135_3]) ).

fof(f_1136_1,plain,
    ! [Eb,Hb,Lb,E_b,H_b,L_b,Pa,Vs_1,Vs,Ts] :
      ( 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))))),Vs),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_1),Eb))))),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))),Hb),Lb))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(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))))),Vs),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))),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_b)),Vs)),E_b))))),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_b),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_b),Lb),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),Vs)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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)))),Eb),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))),Hb),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),Lb),Vs),Vs_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_b),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_b),L_b)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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(list(list(char)),bool,distinct(list(char)),Vs))
      | hAPP(list(val),nat,size_size(list(val)),Vs_1) != hAPP(list(ty),nat,size_size(list(ty)),Ts)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),Vs) != hAPP(list(ty),nat,size_size(list(ty)),Ts) ),
    inference(fof_nnf,[status(thm)],[fact_988_blocksReds]) ).

fof(f_1136_2,plain,
    ! [U_6662,U_6661,U_6660,U_6659,U_6658,U_6657,U_6656,U_6655,U_6654,U_6653] :
      ( 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))))),U_6654),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)))),U_6653),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))),U_6655),U_6662))))),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))),U_6661),U_6660))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(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))))),U_6654),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)))),U_6653),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)),U_6657)),U_6654)),U_6659))))),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))),U_6658),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)),U_6657),U_6660),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),U_6654)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6656))))
      | ~ 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)))),U_6662),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))),U_6661),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),U_6660),U_6654),U_6655)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6659),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))),U_6658),U_6657)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6656))))
      | ~ hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),U_6654))
      | hAPP(list(val),nat,size_size(list(val)),U_6655) != hAPP(list(ty),nat,size_size(list(ty)),U_6653)
      | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6654) != hAPP(list(ty),nat,size_size(list(ty)),U_6653) ),
    inference(variable_rename,[status(thm)],[f_1136_1]) ).

cnf(f_1136_3,plain,
    ( 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))))),U_6654),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)))),U_6653),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))),U_6655),U_6662))))),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))),U_6661),U_6660))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(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))))),U_6654),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)))),U_6653),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)),U_6657)),U_6654)),U_6659))))),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))),U_6658),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)),U_6657),U_6660),hAPP(list(list(char)),fun(list(char),bool),set(list(char)),U_6654)))))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6656))))
    | ~ 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)))),U_6662),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))),U_6661),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),U_6660),U_6654),U_6655)))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),U_6659),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))),U_6658),U_6657)))),hAPP(fun(product_prod(product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),product_prod(exp(list(char)),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,U_6656))))
    | ~ hBOOL(hAPP(list(list(char)),bool,distinct(list(char)),U_6654))
    | hAPP(list(val),nat,size_size(list(val)),U_6655) != hAPP(list(ty),nat,size_size(list(ty)),U_6653)
    | hAPP(list(list(char)),nat,size_size(list(list(char))),U_6654) != hAPP(list(ty),nat,size_size(list(ty)),U_6653) ),
    inference(clausify,[status(thm)],[f_1136_2]) ).

fof(f_1137_1,plain,
    ! [X_a,C_1,Q_1,Wf_md,Pa] :
      ( hBOOL(hAPP(list(char),bool,Q_1,C_1))
      | ? [C_2] :
          ( ~ hBOOL(hAPP(list(char),bool,Q_1,C_2))
          & ! [D_1] :
              ( hBOOL(hAPP(list(char),bool,Q_1,D_1))
              | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),C_2),D_1)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(X_a),Pa)))) ) )
      | ~ hBOOL(hAPP(list(product_prod(list(char),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)))))))),bool,hAPP(fun(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,X_a))),bool))),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)))))))),bool),wf_prog(X_a),Wf_md),Pa)) ),
    inference(fof_nnf,[status(thm)],[fact_989_subcls__induct]) ).

fof(f_1137_2,plain,
    ! [U_6669,U_6668,U_6667,U_6666,U_6665] :
      ( hBOOL(hAPP(list(char),bool,U_6667,U_6668))
      | ? [U_6664] :
          ( ~ hBOOL(hAPP(list(char),bool,U_6667,U_6664))
          & ! [U_6663] :
              ( hBOOL(hAPP(list(char),bool,U_6667,U_6663))
              | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),U_6664),U_6663)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6669),U_6665)))) ) )
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),bool,hAPP(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,U_6669)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669))),bool))),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,U_6669)))))))),bool),wf_prog(U_6669),U_6666),U_6665)) ),
    inference(variable_rename,[status(thm)],[f_1137_1]) ).

fof(f_1137_3,plain,
    ! [U_6669,U_6668,U_6667,U_6666,U_6665] :
      ( hBOOL(hAPP(list(char),bool,U_6667,U_6668))
      | ( ~ hBOOL(hAPP(list(char),bool,U_6667,sK252(U_6669,U_6668,U_6667,U_6666,U_6665)))
        & ! [U_6663] :
            ( hBOOL(hAPP(list(char),bool,U_6667,U_6663))
            | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK252(U_6669,U_6668,U_6667,U_6666,U_6665)),U_6663)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6669),U_6665)))) ) )
      | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),bool,hAPP(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,U_6669)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669))),bool))),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,U_6669)))))))),bool),wf_prog(U_6669),U_6666),U_6665)) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK252]),skolemize(U_6664,sK252(U_6669,U_6668,U_6667,U_6666,U_6665))],[f_1137_2]) ).

cnf(f_1137_4,plain,
    ( hBOOL(hAPP(list(char),bool,U_6667,U_6663))
    | ~ hBOOL(hAPP(fun(product_prod(list(char),list(char)),bool),bool,hAPP(product_prod(list(char),list(char)),fun(fun(product_prod(list(char),list(char)),bool),bool),member(product_prod(list(char),list(char))),hAPP(list(char),product_prod(list(char),list(char)),hAPP(list(char),fun(list(char),product_prod(list(char),list(char))),product_Pair(list(char),list(char)),sK252(U_6669,U_6668,U_6667,U_6666,U_6665)),U_6663)),hAPP(fun(product_prod(list(char),list(char)),bool),fun(product_prod(list(char),list(char)),bool),transitive_trancl(list(char)),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),fun(product_prod(list(char),list(char)),bool),subcls1(U_6669),U_6665))))
    | hBOOL(hAPP(list(char),bool,U_6667,U_6668))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),bool,hAPP(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,U_6669)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669))),bool))),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,U_6669)))))))),bool),wf_prog(U_6669),U_6666),U_6665)) ),
    inference(clausify,[status(thm)],[f_1137_3]) ).

cnf(f_1137_5,plain,
    ( ~ hBOOL(hAPP(list(char),bool,U_6667,sK252(U_6669,U_6668,U_6667,U_6666,U_6665)))
    | hBOOL(hAPP(list(char),bool,U_6667,U_6668))
    | ~ hBOOL(hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(list(char),ty)),list(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669)))))))),bool,hAPP(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,U_6669)))))))),fun(list(char),fun(product_prod(list(char),product_prod(list(ty),product_prod(ty,U_6669))),bool))),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,U_6669)))))))),bool),wf_prog(U_6669),U_6666),U_6665)) ),
    inference(clausify,[status(thm)],[f_1137_3]) ).

fof(f_1138_1,plain,
    ! [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)),
    inference(fof_nnf,[status(thm)],[fact_990_List_Omap_Ocomp]) ).

fof(f_1138_2,plain,
    ! [U_6674,U_6673,U_6672,U_6671,U_6670] : hAPP(fun(list(U_6674),list(U_6673)),fun(list(U_6674),list(U_6672)),hAPP(fun(list(U_6673),list(U_6672)),fun(fun(list(U_6674),list(U_6673)),fun(list(U_6674),list(U_6672))),comp(list(U_6673),list(U_6672),list(U_6674)),hAPP(fun(U_6673,U_6672),fun(list(U_6673),list(U_6672)),map(U_6673,U_6672),U_6671)),hAPP(fun(U_6674,U_6673),fun(list(U_6674),list(U_6673)),map(U_6674,U_6673),U_6670)) = hAPP(fun(U_6674,U_6672),fun(list(U_6674),list(U_6672)),map(U_6674,U_6672),hAPP(fun(U_6674,U_6673),fun(U_6674,U_6672),hAPP(fun(U_6673,U_6672),fun(fun(U_6674,U_6673),fun(U_6674,U_6672)),comp(U_6673,U_6672,U_6674),U_6671),U_6670)),
    inference(variable_rename,[status(thm)],[f_1138_1]) ).

cnf(f_1138_3,plain,
    hAPP(fun(list(U_6674),list(U_6673)),fun(list(U_6674),list(U_6672)),hAPP(fun(list(U_6673),list(U_6672)),fun(fun(list(U_6674),list(U_6673)),fun(list(U_6674),list(U_6672))),comp(list(U_6673),list(U_6672),list(U_6674)),hAPP(fun(U_6673,U_6672),fun(list(U_6673),list(U_6672)),map(U_6673,U_6672),U_6671)),hAPP(fun(U_6674,U_6673),fun(list(U_6674),list(U_6673)),map(U_6674,U_6673),U_6670)) = hAPP(fun(U_6674,U_6672),fun(list(U_6674),list(U_6672)),map(U_6674,U_6672),hAPP(fun(U_6674,U_6673),fun(U_6674,U_6672),hAPP(fun(U_6673,U_6672),fun(fun(U_6674,U_6673),fun(U_6674,U_6672)),comp(U_6673,U_6672,U_6674),U_6671),U_6670)),
    inference(clausify,[status(thm)],[f_1138_2]) ).

fof(f_1139_1,plain,
    ! [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)),
    inference(fof_nnf,[status(thm)],[fact_991_map__comp__map]) ).

fof(f_1139_2,plain,
    ! [U_6679,U_6678,U_6677,U_6676,U_6675] : hAPP(fun(list(U_6679),list(U_6678)),fun(list(U_6679),list(U_6677)),hAPP(fun(list(U_6678),list(U_6677)),fun(fun(list(U_6679),list(U_6678)),fun(list(U_6679),list(U_6677))),comp(list(U_6678),list(U_6677),list(U_6679)),hAPP(fun(U_6678,U_6677),fun(list(U_6678),list(U_6677)),map(U_6678,U_6677),U_6676)),hAPP(fun(U_6679,U_6678),fun(list(U_6679),list(U_6678)),map(U_6679,U_6678),U_6675)) = hAPP(fun(U_6679,U_6677),fun(list(U_6679),list(U_6677)),map(U_6679,U_6677),hAPP(fun(U_6679,U_6678),fun(U_6679,U_6677),hAPP(fun(U_6678,U_6677),fun(fun(U_6679,U_6678),fun(U_6679,U_6677)),comp(U_6678,U_6677,U_6679),U_6676),U_6675)),
    inference(variable_rename,[status(thm)],[f_1139_1]) ).

cnf(f_1139_3,plain,
    hAPP(fun(list(U_6679),list(U_6678)),fun(list(U_6679),list(U_6677)),hAPP(fun(list(U_6678),list(U_6677)),fun(fun(list(U_6679),list(U_6678)),fun(list(U_6679),list(U_6677))),comp(list(U_6678),list(U_6677),list(U_6679)),hAPP(fun(U_6678,U_6677),fun(list(U_6678),list(U_6677)),map(U_6678,U_6677),U_6676)),hAPP(fun(U_6679,U_6678),fun(list(U_6679),list(U_6678)),map(U_6679,U_6678),U_6675)) = hAPP(fun(U_6679,U_6677),fun(list(U_6679),list(U_6677)),map(U_6679,U_6677),hAPP(fun(U_6679,U_6678),fun(U_6679,U_6677),hAPP(fun(U_6678,U_6677),fun(fun(U_6679,U_6678),fun(U_6679,U_6677)),comp(U_6678,U_6677,U_6679),U_6676),U_6675)),
    inference(clausify,[status(thm)],[f_1139_2]) ).

fof(f_1140_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_992_List_Omap_Ocompositionality]) ).

fof(f_1140_2,plain,
    ! [U_6685,U_6684,U_6683,U_6682,U_6681,U_6680] : hAPP(list(U_6685),list(U_6684),hAPP(fun(U_6685,U_6684),fun(list(U_6685),list(U_6684)),map(U_6685,U_6684),U_6682),hAPP(list(U_6683),list(U_6685),hAPP(fun(U_6683,U_6685),fun(list(U_6683),list(U_6685)),map(U_6683,U_6685),U_6681),U_6680)) = hAPP(list(U_6683),list(U_6684),hAPP(fun(U_6683,U_6684),fun(list(U_6683),list(U_6684)),map(U_6683,U_6684),hAPP(fun(U_6683,U_6685),fun(U_6683,U_6684),hAPP(fun(U_6685,U_6684),fun(fun(U_6683,U_6685),fun(U_6683,U_6684)),comp(U_6685,U_6684,U_6683),U_6682),U_6681)),U_6680),
    inference(variable_rename,[status(thm)],[f_1140_1]) ).

cnf(f_1140_3,plain,
    hAPP(list(U_6685),list(U_6684),hAPP(fun(U_6685,U_6684),fun(list(U_6685),list(U_6684)),map(U_6685,U_6684),U_6682),hAPP(list(U_6683),list(U_6685),hAPP(fun(U_6683,U_6685),fun(list(U_6683),list(U_6685)),map(U_6683,U_6685),U_6681),U_6680)) = hAPP(list(U_6683),list(U_6684),hAPP(fun(U_6683,U_6684),fun(list(U_6683),list(U_6684)),map(U_6683,U_6684),hAPP(fun(U_6683,U_6685),fun(U_6683,U_6684),hAPP(fun(U_6685,U_6684),fun(fun(U_6683,U_6685),fun(U_6683,U_6684)),comp(U_6685,U_6684,U_6683),U_6682),U_6681)),U_6680),
    inference(clausify,[status(thm)],[f_1140_2]) ).

fof(f_1141_1,plain,
    ! [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),
    inference(fof_nnf,[status(thm)],[fact_993_map__map]) ).

fof(f_1141_2,plain,
    ! [U_6691,U_6690,U_6689,U_6688,U_6687,U_6686] : hAPP(list(U_6691),list(U_6690),hAPP(fun(U_6691,U_6690),fun(list(U_6691),list(U_6690)),map(U_6691,U_6690),U_6688),hAPP(list(U_6689),list(U_6691),hAPP(fun(U_6689,U_6691),fun(list(U_6689),list(U_6691)),map(U_6689,U_6691),U_6687),U_6686)) = hAPP(list(U_6689),list(U_6690),hAPP(fun(U_6689,U_6690),fun(list(U_6689),list(U_6690)),map(U_6689,U_6690),hAPP(fun(U_6689,U_6691),fun(U_6689,U_6690),hAPP(fun(U_6691,U_6690),fun(fun(U_6689,U_6691),fun(U_6689,U_6690)),comp(U_6691,U_6690,U_6689),U_6688),U_6687)),U_6686),
    inference(variable_rename,[status(thm)],[f_1141_1]) ).

cnf(f_1141_3,plain,
    hAPP(list(U_6691),list(U_6690),hAPP(fun(U_6691,U_6690),fun(list(U_6691),list(U_6690)),map(U_6691,U_6690),U_6688),hAPP(list(U_6689),list(U_6691),hAPP(fun(U_6689,U_6691),fun(list(U_6689),list(U_6691)),map(U_6689,U_6691),U_6687),U_6686)) = hAPP(list(U_6689),list(U_6690),hAPP(fun(U_6689,U_6690),fun(list(U_6689),list(U_6690)),map(U_6689,U_6690),hAPP(fun(U_6689,U_6691),fun(U_6689,U_6690),hAPP(fun(U_6691,U_6690),fun(fun(U_6689,U_6691),fun(U_6689,U_6690)),comp(U_6691,U_6690,U_6689),U_6688),U_6687)),U_6686),
    inference(clausify,[status(thm)],[f_1141_2]) ).

fof(f_1142_1,plain,
    ! [X_a,X_c,X_b,X_d,A_1,B,C,D] :
      ( ! [V] : hAPP(X_c,X_b,A_1,hAPP(X_a,X_c,B,V)) = hAPP(X_d,X_b,C,hAPP(X_a,X_d,D,V))
      | 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),A_1),B) != hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),C),D) ),
    inference(fof_nnf,[status(thm)],[fact_994_o__eq__elim]) ).

fof(f_1142_2,plain,
    ! [U_6700,U_6699,U_6698,U_6697,U_6696,U_6695,U_6694,U_6693] :
      ( ! [U_6692] : hAPP(U_6699,U_6698,U_6696,hAPP(U_6700,U_6699,U_6695,U_6692)) = hAPP(U_6697,U_6698,U_6694,hAPP(U_6700,U_6697,U_6693,U_6692))
      | hAPP(fun(U_6700,U_6699),fun(U_6700,U_6698),hAPP(fun(U_6699,U_6698),fun(fun(U_6700,U_6699),fun(U_6700,U_6698)),comp(U_6699,U_6698,U_6700),U_6696),U_6695) != hAPP(fun(U_6700,U_6697),fun(U_6700,U_6698),hAPP(fun(U_6697,U_6698),fun(fun(U_6700,U_6697),fun(U_6700,U_6698)),comp(U_6697,U_6698,U_6700),U_6694),U_6693) ),
    inference(variable_rename,[status(thm)],[f_1142_1]) ).

cnf(f_1142_3,plain,
    ( hAPP(U_6699,U_6698,U_6696,hAPP(U_6700,U_6699,U_6695,U_6692)) = hAPP(U_6697,U_6698,U_6694,hAPP(U_6700,U_6697,U_6693,U_6692))
    | hAPP(fun(U_6700,U_6699),fun(U_6700,U_6698),hAPP(fun(U_6699,U_6698),fun(fun(U_6700,U_6699),fun(U_6700,U_6698)),comp(U_6699,U_6698,U_6700),U_6696),U_6695) != hAPP(fun(U_6700,U_6697),fun(U_6700,U_6698),hAPP(fun(U_6697,U_6698),fun(fun(U_6700,U_6697),fun(U_6700,U_6698)),comp(U_6697,U_6698,U_6700),U_6694),U_6693) ),
    inference(clausify,[status(thm)],[f_1142_2]) ).

fof(f_1143_1,plain,
    ! [X_a,X_c,X_b,X_d,Va,A_1,B,C,D] :
      ( hAPP(X_c,X_b,A_1,hAPP(X_a,X_c,B,Va)) = hAPP(X_d,X_b,C,hAPP(X_a,X_d,D,Va))
      | 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),A_1),B) != hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),C),D) ),
    inference(fof_nnf,[status(thm)],[fact_995_o__eq__dest]) ).

fof(f_1143_2,plain,
    ! [U_6709,U_6708,U_6707,U_6706,U_6705,U_6704,U_6703,U_6702,U_6701] :
      ( hAPP(U_6708,U_6707,U_6704,hAPP(U_6709,U_6708,U_6703,U_6705)) = hAPP(U_6706,U_6707,U_6702,hAPP(U_6709,U_6706,U_6701,U_6705))
      | hAPP(fun(U_6709,U_6708),fun(U_6709,U_6707),hAPP(fun(U_6708,U_6707),fun(fun(U_6709,U_6708),fun(U_6709,U_6707)),comp(U_6708,U_6707,U_6709),U_6704),U_6703) != hAPP(fun(U_6709,U_6706),fun(U_6709,U_6707),hAPP(fun(U_6706,U_6707),fun(fun(U_6709,U_6706),fun(U_6709,U_6707)),comp(U_6706,U_6707,U_6709),U_6702),U_6701) ),
    inference(variable_rename,[status(thm)],[f_1143_1]) ).

cnf(f_1143_3,plain,
    ( hAPP(U_6708,U_6707,U_6704,hAPP(U_6709,U_6708,U_6703,U_6705)) = hAPP(U_6706,U_6707,U_6702,hAPP(U_6709,U_6706,U_6701,U_6705))
    | hAPP(fun(U_6709,U_6708),fun(U_6709,U_6707),hAPP(fun(U_6708,U_6707),fun(fun(U_6709,U_6708),fun(U_6709,U_6707)),comp(U_6708,U_6707,U_6709),U_6704),U_6703) != hAPP(fun(U_6709,U_6706),fun(U_6709,U_6707),hAPP(fun(U_6706,U_6707),fun(fun(U_6709,U_6706),fun(U_6709,U_6707)),comp(U_6706,U_6707,U_6709),U_6702),U_6701) ),
    inference(clausify,[status(thm)],[f_1143_2]) ).

fof(f_1144_1,plain,
    ! [X_c,X_a,X_b,F,G,X_1] : hAPP(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),X_1) = hAPP(X_b,X_a,F,hAPP(X_c,X_b,G,X_1)),
    inference(fof_nnf,[status(thm)],[fact_996_o__apply]) ).

fof(f_1144_2,plain,
    ! [U_6715,U_6714,U_6713,U_6712,U_6711,U_6710] : hAPP(U_6715,U_6714,hAPP(fun(U_6715,U_6713),fun(U_6715,U_6714),hAPP(fun(U_6713,U_6714),fun(fun(U_6715,U_6713),fun(U_6715,U_6714)),comp(U_6713,U_6714,U_6715),U_6712),U_6711),U_6710) = hAPP(U_6713,U_6714,U_6712,hAPP(U_6715,U_6713,U_6711,U_6710)),
    inference(variable_rename,[status(thm)],[f_1144_1]) ).

cnf(f_1144_3,plain,
    hAPP(U_6715,U_6714,hAPP(fun(U_6715,U_6713),fun(U_6715,U_6714),hAPP(fun(U_6713,U_6714),fun(fun(U_6715,U_6713),fun(U_6715,U_6714)),comp(U_6713,U_6714,U_6715),U_6712),U_6711),U_6710) = hAPP(U_6713,U_6714,U_6712,hAPP(U_6715,U_6713,U_6711,U_6710)),
    inference(clausify,[status(thm)],[f_1144_2]) ).

fof(f_1145_1,plain,
    ! [X_a,X_c,X_b,X_d,F,G,Hb] : 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),hAPP(fun(X_a,X_d),fun(X_a,X_c),hAPP(fun(X_d,X_c),fun(fun(X_a,X_d),fun(X_a,X_c)),comp(X_d,X_c,X_a),G),Hb)) = hAPP(fun(X_a,X_d),fun(X_a,X_b),hAPP(fun(X_d,X_b),fun(fun(X_a,X_d),fun(X_a,X_b)),comp(X_d,X_b,X_a),hAPP(fun(X_d,X_c),fun(X_d,X_b),hAPP(fun(X_c,X_b),fun(fun(X_d,X_c),fun(X_d,X_b)),comp(X_c,X_b,X_d),F),G)),Hb),
    inference(fof_nnf,[status(thm)],[fact_997_o__assoc]) ).

fof(f_1145_2,plain,
    ! [U_6722,U_6721,U_6720,U_6719,U_6718,U_6717,U_6716] : hAPP(fun(U_6722,U_6721),fun(U_6722,U_6720),hAPP(fun(U_6721,U_6720),fun(fun(U_6722,U_6721),fun(U_6722,U_6720)),comp(U_6721,U_6720,U_6722),U_6718),hAPP(fun(U_6722,U_6719),fun(U_6722,U_6721),hAPP(fun(U_6719,U_6721),fun(fun(U_6722,U_6719),fun(U_6722,U_6721)),comp(U_6719,U_6721,U_6722),U_6717),U_6716)) = hAPP(fun(U_6722,U_6719),fun(U_6722,U_6720),hAPP(fun(U_6719,U_6720),fun(fun(U_6722,U_6719),fun(U_6722,U_6720)),comp(U_6719,U_6720,U_6722),hAPP(fun(U_6719,U_6721),fun(U_6719,U_6720),hAPP(fun(U_6721,U_6720),fun(fun(U_6719,U_6721),fun(U_6719,U_6720)),comp(U_6721,U_6720,U_6719),U_6718),U_6717)),U_6716),
    inference(variable_rename,[status(thm)],[f_1145_1]) ).

cnf(f_1145_3,plain,
    hAPP(fun(U_6722,U_6721),fun(U_6722,U_6720),hAPP(fun(U_6721,U_6720),fun(fun(U_6722,U_6721),fun(U_6722,U_6720)),comp(U_6721,U_6720,U_6722),U_6718),hAPP(fun(U_6722,U_6719),fun(U_6722,U_6721),hAPP(fun(U_6719,U_6721),fun(fun(U_6722,U_6719),fun(U_6722,U_6721)),comp(U_6719,U_6721,U_6722),U_6717),U_6716)) = hAPP(fun(U_6722,U_6719),fun(U_6722,U_6720),hAPP(fun(U_6719,U_6720),fun(fun(U_6722,U_6719),fun(U_6722,U_6720)),comp(U_6719,U_6720,U_6722),hAPP(fun(U_6719,U_6721),fun(U_6719,U_6720),hAPP(fun(U_6721,U_6720),fun(fun(U_6719,U_6721),fun(U_6719,U_6720)),comp(U_6721,U_6720,U_6719),U_6718),U_6717)),U_6716),
    inference(clausify,[status(thm)],[f_1145_2]) ).

fof(f_1146_1,plain,
    ! [X_a,X_b,X_c,F,G,X_2] : hAPP(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),X_2) = hAPP(X_c,X_b,F,hAPP(X_a,X_c,G,X_2)),
    inference(fof_nnf,[status(thm)],[fact_998_o__def]) ).

fof(f_1146_2,plain,
    ! [U_6728,U_6727,U_6726,U_6725,U_6724,U_6723] : hAPP(U_6728,U_6727,hAPP(fun(U_6728,U_6726),fun(U_6728,U_6727),hAPP(fun(U_6726,U_6727),fun(fun(U_6728,U_6726),fun(U_6728,U_6727)),comp(U_6726,U_6727,U_6728),U_6725),U_6724),U_6723) = hAPP(U_6726,U_6727,U_6725,hAPP(U_6728,U_6726,U_6724,U_6723)),
    inference(variable_rename,[status(thm)],[f_1146_1]) ).

cnf(f_1146_3,plain,
    hAPP(U_6728,U_6727,hAPP(fun(U_6728,U_6726),fun(U_6728,U_6727),hAPP(fun(U_6726,U_6727),fun(fun(U_6728,U_6726),fun(U_6728,U_6727)),comp(U_6726,U_6727,U_6728),U_6725),U_6724),U_6723) = hAPP(U_6726,U_6727,U_6725,hAPP(U_6728,U_6726,U_6724,U_6723)),
    inference(clausify,[status(thm)],[f_1146_2]) ).

fof(f_1147_1,plain,
    ! [X_a,X_c,X_b,F,G,X_1,Y_1] : 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),hAPP(X_c,fun(X_a,X_c),hAPP(X_a,fun(X_c,fun(X_a,X_c)),hAPP(fun(X_a,X_c),fun(X_a,fun(X_c,fun(X_a,X_c))),fun_upd(X_a,X_c),G),X_1),Y_1)) = hAPP(X_b,fun(X_a,X_b),hAPP(X_a,fun(X_b,fun(X_a,X_b)),hAPP(fun(X_a,X_b),fun(X_a,fun(X_b,fun(X_a,X_b))),fun_upd(X_a,X_b),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)),X_1),hAPP(X_c,X_b,F,Y_1)),
    inference(fof_nnf,[status(thm)],[fact_999_fun__upd__comp]) ).

fof(f_1147_2,plain,
    ! [U_6735,U_6734,U_6733,U_6732,U_6731,U_6730,U_6729] : hAPP(fun(U_6735,U_6734),fun(U_6735,U_6733),hAPP(fun(U_6734,U_6733),fun(fun(U_6735,U_6734),fun(U_6735,U_6733)),comp(U_6734,U_6733,U_6735),U_6732),hAPP(U_6734,fun(U_6735,U_6734),hAPP(U_6735,fun(U_6734,fun(U_6735,U_6734)),hAPP(fun(U_6735,U_6734),fun(U_6735,fun(U_6734,fun(U_6735,U_6734))),fun_upd(U_6735,U_6734),U_6731),U_6730),U_6729)) = hAPP(U_6733,fun(U_6735,U_6733),hAPP(U_6735,fun(U_6733,fun(U_6735,U_6733)),hAPP(fun(U_6735,U_6733),fun(U_6735,fun(U_6733,fun(U_6735,U_6733))),fun_upd(U_6735,U_6733),hAPP(fun(U_6735,U_6734),fun(U_6735,U_6733),hAPP(fun(U_6734,U_6733),fun(fun(U_6735,U_6734),fun(U_6735,U_6733)),comp(U_6734,U_6733,U_6735),U_6732),U_6731)),U_6730),hAPP(U_6734,U_6733,U_6732,U_6729)),
    inference(variable_rename,[status(thm)],[f_1147_1]) ).

cnf(f_1147_3,plain,
    hAPP(fun(U_6735,U_6734),fun(U_6735,U_6733),hAPP(fun(U_6734,U_6733),fun(fun(U_6735,U_6734),fun(U_6735,U_6733)),comp(U_6734,U_6733,U_6735),U_6732),hAPP(U_6734,fun(U_6735,U_6734),hAPP(U_6735,fun(U_6734,fun(U_6735,U_6734)),hAPP(fun(U_6735,U_6734),fun(U_6735,fun(U_6734,fun(U_6735,U_6734))),fun_upd(U_6735,U_6734),U_6731),U_6730),U_6729)) = hAPP(U_6733,fun(U_6735,U_6733),hAPP(U_6735,fun(U_6733,fun(U_6735,U_6733)),hAPP(fun(U_6735,U_6733),fun(U_6735,fun(U_6733,fun(U_6735,U_6733))),fun_upd(U_6735,U_6733),hAPP(fun(U_6735,U_6734),fun(U_6735,U_6733),hAPP(fun(U_6734,U_6733),fun(fun(U_6735,U_6734),fun(U_6735,U_6733)),comp(U_6734,U_6733,U_6735),U_6732),U_6731)),U_6730),hAPP(U_6734,U_6733,U_6732,U_6729)),
    inference(clausify,[status(thm)],[f_1147_2]) ).

fof(f_1148_1,plain,
    ! [T_2,T_1] :
      ( semilattice_sup(fun(T_2,T_1))
      | ~ lattice(T_1) ),
    inference(fof_nnf,[status(thm)],[arity_fun___Lattices_Osemilattice__sup]) ).

fof(f_1148_2,plain,
    ! [U_6737,U_6736] :
      ( semilattice_sup(fun(U_6737,U_6736))
      | ~ lattice(U_6736) ),
    inference(variable_rename,[status(thm)],[f_1148_1]) ).

cnf(f_1148_3,plain,
    ( semilattice_sup(fun(U_6737,U_6736))
    | ~ lattice(U_6736) ),
    inference(clausify,[status(thm)],[f_1148_2]) ).

fof(f_1149_1,plain,
    ! [T_2,T_1] :
      ( preorder(fun(T_2,T_1))
      | ~ preorder(T_1) ),
    inference(fof_nnf,[status(thm)],[arity_fun___Orderings_Opreorder]) ).

fof(f_1149_2,plain,
    ! [U_6739,U_6738] :
      ( preorder(fun(U_6739,U_6738))
      | ~ preorder(U_6738) ),
    inference(variable_rename,[status(thm)],[f_1149_1]) ).

cnf(f_1149_3,plain,
    ( preorder(fun(U_6739,U_6738))
    | ~ preorder(U_6738) ),
    inference(clausify,[status(thm)],[f_1149_2]) ).

fof(f_1150_1,plain,
    ! [T_2,T_1] :
      ( lattice(fun(T_2,T_1))
      | ~ lattice(T_1) ),
    inference(fof_nnf,[status(thm)],[arity_fun___Lattices_Olattice]) ).

fof(f_1150_2,plain,
    ! [U_6741,U_6740] :
      ( lattice(fun(U_6741,U_6740))
      | ~ lattice(U_6740) ),
    inference(variable_rename,[status(thm)],[f_1150_1]) ).

cnf(f_1150_3,plain,
    ( lattice(fun(U_6741,U_6740))
    | ~ lattice(U_6740) ),
    inference(clausify,[status(thm)],[f_1150_2]) ).

fof(f_1151_1,plain,
    ! [T_2,T_1] :
      ( order(fun(T_2,T_1))
      | ~ order(T_1) ),
    inference(fof_nnf,[status(thm)],[arity_fun___Orderings_Oorder]) ).

fof(f_1151_2,plain,
    ! [U_6743,U_6742] :
      ( order(fun(U_6743,U_6742))
      | ~ order(U_6742) ),
    inference(variable_rename,[status(thm)],[f_1151_1]) ).

cnf(f_1151_3,plain,
    ( order(fun(U_6743,U_6742))
    | ~ order(U_6742) ),
    inference(clausify,[status(thm)],[f_1151_2]) ).

fof(f_1152_1,plain,
    ! [T_2,T_1] :
      ( ord(fun(T_2,T_1))
      | ~ ord(T_1) ),
    inference(fof_nnf,[status(thm)],[arity_fun___Orderings_Oord]) ).

fof(f_1152_2,plain,
    ! [U_6745,U_6744] :
      ( ord(fun(U_6745,U_6744))
      | ~ ord(U_6744) ),
    inference(variable_rename,[status(thm)],[f_1152_1]) ).

cnf(f_1152_3,plain,
    ( ord(fun(U_6745,U_6744))
    | ~ ord(U_6744) ),
    inference(clausify,[status(thm)],[f_1152_2]) ).

fof(f_1153_1,plain,
    semilattice_sup(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Lattices_Osemilattice__sup]) ).

cnf(f_1153_2,plain,
    semilattice_sup(nat),
    inference(clausify,[status(thm)],[f_1153_1]) ).

fof(f_1154_1,plain,
    preorder(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Orderings_Opreorder]) ).

cnf(f_1154_2,plain,
    preorder(nat),
    inference(clausify,[status(thm)],[f_1154_1]) ).

fof(f_1155_1,plain,
    linorder(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Orderings_Olinorder]) ).

cnf(f_1155_2,plain,
    linorder(nat),
    inference(clausify,[status(thm)],[f_1155_1]) ).

fof(f_1156_1,plain,
    lattice(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Lattices_Olattice]) ).

cnf(f_1156_2,plain,
    lattice(nat),
    inference(clausify,[status(thm)],[f_1156_1]) ).

fof(f_1157_1,plain,
    order(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Orderings_Oorder]) ).

cnf(f_1157_2,plain,
    order(nat),
    inference(clausify,[status(thm)],[f_1157_1]) ).

fof(f_1158_1,plain,
    ord(nat),
    inference(fof_nnf,[status(thm)],[arity_Nat_Onat___Orderings_Oord]) ).

cnf(f_1158_2,plain,
    ord(nat),
    inference(clausify,[status(thm)],[f_1158_1]) ).

fof(f_1159_1,plain,
    semilattice_sup(bool),
    inference(fof_nnf,[status(thm)],[arity_HOL_Obool___Lattices_Osemilattice__sup]) ).

cnf(f_1159_2,plain,
    semilattice_sup(bool),
    inference(clausify,[status(thm)],[f_1159_1]) ).

fof(f_1160_1,plain,
    preorder(bool),
    inference(fof_nnf,[status(thm)],[arity_HOL_Obool___Orderings_Opreorder]) ).

cnf(f_1160_2,plain,
    preorder(bool),
    inference(clausify,[status(thm)],[f_1160_1]) ).

fof(f_1161_1,plain,
    lattice(bool),
    inference(fof_nnf,[status(thm)],[arity_HOL_Obool___Lattices_Olattice]) ).

cnf(f_1161_2,plain,
    lattice(bool),
    inference(clausify,[status(thm)],[f_1161_1]) ).

fof(f_1162_1,plain,
    order(bool),
    inference(fof_nnf,[status(thm)],[arity_HOL_Obool___Orderings_Oorder]) ).

cnf(f_1162_2,plain,
    order(bool),
    inference(clausify,[status(thm)],[f_1162_1]) ).

fof(f_1163_1,plain,
    ord(bool),
    inference(fof_nnf,[status(thm)],[arity_HOL_Obool___Orderings_Oord]) ).

cnf(f_1163_2,plain,
    ord(bool),
    inference(clausify,[status(thm)],[f_1163_1]) ).

fof(f_1164_1,plain,
    ! [T,A] : ti(T,ti(T,A)) = ti(T,A),
    inference(fof_nnf,[status(thm)],[help_ti_idem]) ).

fof(f_1164_2,plain,
    ! [U_6747,U_6746] : ti(U_6747,ti(U_6747,U_6746)) = ti(U_6747,U_6746),
    inference(variable_rename,[status(thm)],[f_1164_1]) ).

cnf(f_1164_3,plain,
    ti(U_6747,ti(U_6747,U_6746)) = ti(U_6747,U_6746),
    inference(clausify,[status(thm)],[f_1164_2]) ).

fof(f_1165_1,plain,
    ! [P] :
      ( ~ hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,fNot,P)) ),
    inference(fof_nnf,[status(thm)],[help_fNot_1_1_U]) ).

fof(f_1165_2,plain,
    ! [U_6748] :
      ( ~ hBOOL(U_6748)
      | ~ hBOOL(hAPP(bool,bool,fNot,U_6748)) ),
    inference(variable_rename,[status(thm)],[f_1165_1]) ).

cnf(f_1165_3,plain,
    ( ~ hBOOL(U_6748)
    | ~ hBOOL(hAPP(bool,bool,fNot,U_6748)) ),
    inference(clausify,[status(thm)],[f_1165_2]) ).

fof(f_1166_1,plain,
    ! [P] :
      ( hBOOL(hAPP(bool,bool,fNot,P))
      | hBOOL(P) ),
    inference(fof_nnf,[status(thm)],[help_fNot_2_1_U]) ).

fof(f_1166_2,plain,
    ! [U_6749] :
      ( hBOOL(hAPP(bool,bool,fNot,U_6749))
      | hBOOL(U_6749) ),
    inference(variable_rename,[status(thm)],[f_1166_1]) ).

cnf(f_1166_3,plain,
    ( hBOOL(hAPP(bool,bool,fNot,U_6749))
    | hBOOL(U_6749) ),
    inference(clausify,[status(thm)],[f_1166_2]) ).

fof(f_1167_1,plain,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c)),combb(X_b,X_c,X_a),P),Q),R) = hAPP(X_b,X_c,P,hAPP(X_a,X_b,Q,R)),
    inference(fof_nnf,[status(thm)],[help_COMBB_1_1_U]) ).

fof(f_1167_2,plain,
    ! [U_6755,U_6754,U_6753,U_6752,U_6751,U_6750] : hAPP(U_6755,U_6754,hAPP(fun(U_6755,U_6753),fun(U_6755,U_6754),hAPP(fun(U_6753,U_6754),fun(fun(U_6755,U_6753),fun(U_6755,U_6754)),combb(U_6753,U_6754,U_6755),U_6752),U_6751),U_6750) = hAPP(U_6753,U_6754,U_6752,hAPP(U_6755,U_6753,U_6751,U_6750)),
    inference(variable_rename,[status(thm)],[f_1167_1]) ).

cnf(f_1167_3,plain,
    hAPP(U_6755,U_6754,hAPP(fun(U_6755,U_6753),fun(U_6755,U_6754),hAPP(fun(U_6753,U_6754),fun(fun(U_6755,U_6753),fun(U_6755,U_6754)),combb(U_6753,U_6754,U_6755),U_6752),U_6751),U_6750) = hAPP(U_6753,U_6754,U_6752,hAPP(U_6755,U_6753,U_6751,U_6750)),
    inference(clausify,[status(thm)],[f_1167_2]) ).

fof(f_1168_1,plain,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(X_b,fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c)),combc(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),Q),
    inference(fof_nnf,[status(thm)],[help_COMBC_1_1_U]) ).

fof(f_1168_2,plain,
    ! [U_6761,U_6760,U_6759,U_6758,U_6757,U_6756] : hAPP(U_6761,U_6760,hAPP(U_6759,fun(U_6761,U_6760),hAPP(fun(U_6761,fun(U_6759,U_6760)),fun(U_6759,fun(U_6761,U_6760)),combc(U_6761,U_6759,U_6760),U_6758),U_6757),U_6756) = hAPP(U_6759,U_6760,hAPP(U_6761,fun(U_6759,U_6760),U_6758,U_6756),U_6757),
    inference(variable_rename,[status(thm)],[f_1168_1]) ).

cnf(f_1168_3,plain,
    hAPP(U_6761,U_6760,hAPP(U_6759,fun(U_6761,U_6760),hAPP(fun(U_6761,fun(U_6759,U_6760)),fun(U_6759,fun(U_6761,U_6760)),combc(U_6761,U_6759,U_6760),U_6758),U_6757),U_6756) = hAPP(U_6759,U_6760,hAPP(U_6761,fun(U_6759,U_6760),U_6758,U_6756),U_6757),
    inference(clausify,[status(thm)],[f_1168_2]) ).

fof(f_1169_1,plain,
    ! [X_a,P] : hAPP(X_a,X_a,combi(X_a),P) = ti(X_a,P),
    inference(fof_nnf,[status(thm)],[help_COMBI_1_1_U]) ).

fof(f_1169_2,plain,
    ! [U_6763,U_6762] : hAPP(U_6763,U_6763,combi(U_6763),U_6762) = ti(U_6763,U_6762),
    inference(variable_rename,[status(thm)],[f_1169_1]) ).

cnf(f_1169_3,plain,
    hAPP(U_6763,U_6763,combi(U_6763),U_6762) = ti(U_6763,U_6762),
    inference(clausify,[status(thm)],[f_1169_2]) ).

fof(f_1170_1,plain,
    ! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P),
    inference(fof_nnf,[status(thm)],[help_COMBK_1_1_U]) ).

fof(f_1170_2,plain,
    ! [U_6767,U_6766,U_6765,U_6764] : hAPP(U_6767,U_6766,hAPP(U_6766,fun(U_6767,U_6766),combk(U_6766,U_6767),U_6765),U_6764) = ti(U_6766,U_6765),
    inference(variable_rename,[status(thm)],[f_1170_1]) ).

cnf(f_1170_3,plain,
    hAPP(U_6767,U_6766,hAPP(U_6766,fun(U_6767,U_6766),combk(U_6766,U_6767),U_6765),U_6764) = ti(U_6766,U_6765),
    inference(clausify,[status(thm)],[f_1170_2]) ).

fof(f_1171_1,plain,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)),
    inference(fof_nnf,[status(thm)],[help_COMBS_1_1_U]) ).

fof(f_1171_2,plain,
    ! [U_6773,U_6772,U_6771,U_6770,U_6769,U_6768] : hAPP(U_6773,U_6772,hAPP(fun(U_6773,U_6771),fun(U_6773,U_6772),hAPP(fun(U_6773,fun(U_6771,U_6772)),fun(fun(U_6773,U_6771),fun(U_6773,U_6772)),combs(U_6773,U_6771,U_6772),U_6770),U_6769),U_6768) = hAPP(U_6771,U_6772,hAPP(U_6773,fun(U_6771,U_6772),U_6770,U_6768),hAPP(U_6773,U_6771,U_6769,U_6768)),
    inference(variable_rename,[status(thm)],[f_1171_1]) ).

cnf(f_1171_3,plain,
    hAPP(U_6773,U_6772,hAPP(fun(U_6773,U_6771),fun(U_6773,U_6772),hAPP(fun(U_6773,fun(U_6771,U_6772)),fun(fun(U_6773,U_6771),fun(U_6773,U_6772)),combs(U_6773,U_6771,U_6772),U_6770),U_6769),U_6768) = hAPP(U_6771,U_6772,hAPP(U_6773,fun(U_6771,U_6772),U_6770,U_6768),hAPP(U_6773,U_6771,U_6769,U_6768)),
    inference(clausify,[status(thm)],[f_1171_2]) ).

fof(f_1172_1,plain,
    hBOOL(fTrue),
    inference(fof_nnf,[status(thm)],[help_fTrue_1_1_U]) ).

cnf(f_1172_2,plain,
    hBOOL(fTrue),
    inference(clausify,[status(thm)],[f_1172_1]) ).

fof(f_1173_1,plain,
    ! [P] :
      ( ti(bool,P) = fFalse
      | ti(bool,P) = fTrue ),
    inference(fof_nnf,[status(thm)],[help_fTrue_1_1_T]) ).

fof(f_1173_2,plain,
    ! [U_6774] :
      ( ti(bool,U_6774) = fFalse
      | ti(bool,U_6774) = fTrue ),
    inference(variable_rename,[status(thm)],[f_1173_1]) ).

cnf(f_1173_3,plain,
    ( ti(bool,U_6774) = fFalse
    | ti(bool,U_6774) = fTrue ),
    inference(clausify,[status(thm)],[f_1173_2]) ).

fof(f_1174_1,plain,
    ! [Q,P] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | ~ hBOOL(Q)
      | ~ hBOOL(P) ),
    inference(fof_nnf,[status(thm)],[help_fconj_1_1_U]) ).

fof(f_1174_2,plain,
    ! [U_6776,U_6775] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6775),U_6776))
      | ~ hBOOL(U_6776)
      | ~ hBOOL(U_6775) ),
    inference(variable_rename,[status(thm)],[f_1174_1]) ).

fof(f_1174_3,plain,
    ! [U_6776] :
      ( ! [U_6775] :
          ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6775),U_6776))
          | ~ hBOOL(U_6775) )
      | ~ hBOOL(U_6776) ),
    inference(miniscope,[status(thm)],[f_1174_2]) ).

cnf(f_1174_4,plain,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6775),U_6776))
    | ~ hBOOL(U_6775)
    | ~ hBOOL(U_6776) ),
    inference(clausify,[status(thm)],[f_1174_3]) ).

fof(f_1175_1,plain,
    ! [P,Q] :
      ( hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ),
    inference(fof_nnf,[status(thm)],[help_fconj_2_1_U]) ).

fof(f_1175_2,plain,
    ! [U_6778,U_6777] :
      ( hBOOL(U_6778)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6778),U_6777)) ),
    inference(variable_rename,[status(thm)],[f_1175_1]) ).

fof(f_1175_3,plain,
    ! [U_6778] :
      ( ! [U_6777] : ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6778),U_6777))
      | hBOOL(U_6778) ),
    inference(miniscope,[status(thm)],[f_1175_2]) ).

cnf(f_1175_4,plain,
    ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6778),U_6777))
    | hBOOL(U_6778) ),
    inference(clausify,[status(thm)],[f_1175_3]) ).

fof(f_1176_1,plain,
    ! [P,Q] :
      ( hBOOL(Q)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ),
    inference(fof_nnf,[status(thm)],[help_fconj_3_1_U]) ).

fof(f_1176_2,plain,
    ! [U_6780,U_6779] :
      ( hBOOL(U_6779)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6780),U_6779)) ),
    inference(variable_rename,[status(thm)],[f_1176_1]) ).

cnf(f_1176_3,plain,
    ( hBOOL(U_6779)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,U_6780),U_6779)) ),
    inference(clausify,[status(thm)],[f_1176_2]) ).

fof(f_1177_1,plain,
    ! [Q,P] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | ~ hBOOL(P) ),
    inference(fof_nnf,[status(thm)],[help_fdisj_1_1_U]) ).

fof(f_1177_2,plain,
    ! [U_6782,U_6781] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6781),U_6782))
      | ~ hBOOL(U_6781) ),
    inference(variable_rename,[status(thm)],[f_1177_1]) ).

cnf(f_1177_3,plain,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6781),U_6782))
    | ~ hBOOL(U_6781) ),
    inference(clausify,[status(thm)],[f_1177_2]) ).

fof(f_1178_1,plain,
    ! [P,Q] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | ~ hBOOL(Q) ),
    inference(fof_nnf,[status(thm)],[help_fdisj_2_1_U]) ).

fof(f_1178_2,plain,
    ! [U_6784,U_6783] :
      ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6784),U_6783))
      | ~ hBOOL(U_6783) ),
    inference(variable_rename,[status(thm)],[f_1178_1]) ).

cnf(f_1178_3,plain,
    ( hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6784),U_6783))
    | ~ hBOOL(U_6783) ),
    inference(clausify,[status(thm)],[f_1178_2]) ).

fof(f_1179_1,plain,
    ! [P,Q] :
      ( hBOOL(Q)
      | hBOOL(P)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ),
    inference(fof_nnf,[status(thm)],[help_fdisj_3_1_U]) ).

fof(f_1179_2,plain,
    ! [U_6786,U_6785] :
      ( hBOOL(U_6785)
      | hBOOL(U_6786)
      | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6786),U_6785)) ),
    inference(variable_rename,[status(thm)],[f_1179_1]) ).

fof(f_1179_3,plain,
    ! [U_6786] :
      ( ! [U_6785] :
          ( hBOOL(U_6785)
          | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6786),U_6785)) )
      | hBOOL(U_6786) ),
    inference(miniscope,[status(thm)],[f_1179_2]) ).

cnf(f_1179_4,plain,
    ( hBOOL(U_6785)
    | ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,U_6786),U_6785))
    | hBOOL(U_6786) ),
    inference(clausify,[status(thm)],[f_1179_3]) ).

fof(f_1180_1,plain,
    ~ hBOOL(fFalse),
    inference(fof_nnf,[status(thm)],[help_fFalse_1_1_U]) ).

cnf(f_1180_2,plain,
    ~ hBOOL(fFalse),
    inference(clausify,[status(thm)],[f_1180_1]) ).

fof(f_1181_1,plain,
    ! [P] :
      ( ti(bool,P) = fFalse
      | ti(bool,P) = fTrue ),
    inference(fof_nnf,[status(thm)],[help_fFalse_1_1_T]) ).

fof(f_1181_2,plain,
    ! [U_6787] :
      ( ti(bool,U_6787) = fFalse
      | ti(bool,U_6787) = fTrue ),
    inference(variable_rename,[status(thm)],[f_1181_1]) ).

cnf(f_1181_3,plain,
    ( ti(bool,U_6787) = fFalse
    | ti(bool,U_6787) = fTrue ),
    inference(clausify,[status(thm)],[f_1181_2]) ).

fof(f_1182_1,plain,
    ! [X_a,X,Y] :
      ( ti(X_a,X) = ti(X_a,Y)
      | ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ),
    inference(fof_nnf,[status(thm)],[help_fequal_1_1_T]) ).

fof(f_1182_2,plain,
    ! [U_6790,U_6789,U_6788] :
      ( ti(U_6790,U_6789) = ti(U_6790,U_6788)
      | ~ hBOOL(hAPP(U_6790,bool,hAPP(U_6790,fun(U_6790,bool),fequal(U_6790),U_6789),U_6788)) ),
    inference(variable_rename,[status(thm)],[f_1182_1]) ).

cnf(f_1182_3,plain,
    ( ti(U_6790,U_6789) = ti(U_6790,U_6788)
    | ~ hBOOL(hAPP(U_6790,bool,hAPP(U_6790,fun(U_6790,bool),fequal(U_6790),U_6789),U_6788)) ),
    inference(clausify,[status(thm)],[f_1182_2]) ).

fof(f_1183_1,plain,
    ! [X_a,X,Y] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
      | ti(X_a,X) != ti(X_a,Y) ),
    inference(fof_nnf,[status(thm)],[help_fequal_2_1_T]) ).

fof(f_1183_2,plain,
    ! [U_6793,U_6792,U_6791] :
      ( hBOOL(hAPP(U_6793,bool,hAPP(U_6793,fun(U_6793,bool),fequal(U_6793),U_6792),U_6791))
      | ti(U_6793,U_6792) != ti(U_6793,U_6791) ),
    inference(variable_rename,[status(thm)],[f_1183_1]) ).

cnf(f_1183_3,plain,
    ( hBOOL(hAPP(U_6793,bool,hAPP(U_6793,fun(U_6793,bool),fequal(U_6793),U_6792),U_6791))
    | ti(U_6793,U_6792) != ti(U_6793,U_6791) ),
    inference(clausify,[status(thm)],[f_1183_2]) ).

fof(f_1184_1,negated_conjecture,
    ~ 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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    inference(negate,[status(cth)],[conj_0]) ).

fof(f_1184_2,negated_conjecture,
    ~ 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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    inference(definitional_conversion,[status(esa)],[f_1184_1]) ).

cnf(f_1184_3,negated_conjecture,
    ~ 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(option(val),fun(list(char),option(val)),hAPP(list(char),fun(option(val),fun(list(char),option(val))),hAPP(fun(list(char),option(val)),fun(list(char),fun(option(val),fun(list(char),option(val)))),fun_upd(list(char),option(val)),la),v_1),hAPP(val,option(val),some(val),v))))),hAPP(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val)))),hAPP(exp(list(char)),fun(product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))),product_prod(exp(list(char)),product_prod(fun(nat,option(product_prod(list(char),fun(product_prod(list(char),list(char)),option(val))))),fun(list(char),option(val))))),product_Pair(exp(list(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_a),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_a),l_a)))),hAPP(list(product_prod(list(char),product_prod(list(char),product_prod(list(product_prod(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,p))),
    inference(clausify,[status(thm)],[f_1184_2]) ).

cnf(f_152_4_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_152_4]) ).

cnf(f_761_7_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_761_7]) ).

cnf(f_761_8_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_761_8]) ).

cnf(f_768_5_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_768_5]) ).

cnf(f_869_7_simplified,plain,
    ( U_4666 = void
    | ~ 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_1,U_4673),U_4672),U_4671),hAPP(exp(list(char)),exp(list(char)),hAPP(list(char),fun(exp(list(char)),exp(list(char))),hAPP(list(char),fun(list(char),fun(exp(list(char)),exp(list(char)))),hAPP(exp(list(char)),fun(list(char),fun(list(char),fun(exp(list(char)),exp(list(char))))),fAss(list(char)),U_4670),U_4669),U_4668),U_4667)),U_4666)) ),
    inference(simplify_clause,[status(thm)],[f_869_7]) ).

cnf(f_1083_4_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_1083_4]) ).

cnf(f_1085_3_true,plain,
    $true,
    inference(clause_is_true,[status(thm)],[f_1085_3]) ).

cnf(equality_1,axiom,
    Eq_x_0 = Eq_x_0,
    theory(equality,[reflexivity]) ).

cnf(equality_2,axiom,
    ( Eq_x_1 = Eq_x_0
    | Eq_x_0 != Eq_x_1 ),
    theory(equality,[symmetry]) ).

cnf(equality_3,axiom,
    ( Eq_x_0 = Eq_x_2
    | Eq_x_1 != Eq_x_2
    | Eq_x_0 != Eq_x_1 ),
    theory(equality,[transitivity]) ).

cnf(equality_4,axiom,
    ( list(Eq_x_0) = list(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_5,axiom,
    ( product_prod(Eq_x_0,Eq_x_1) = product_prod(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_6,axiom,
    ( exp(Eq_x_0) = exp(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_7,axiom,
    ( option(Eq_x_0) = option(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_8,axiom,
    ( fun(Eq_x_0,Eq_x_1) = fun(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_9,axiom,
    ( ti(Eq_x_0,Eq_x_1) = ti(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_10,axiom,
    ( final(Eq_x_0) = final(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_11,axiom,
    ( finals(Eq_x_0) = finals(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_12,axiom,
    ( combb(Eq_x_0,Eq_x_1,Eq_x_2) = combb(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_13,axiom,
    ( combc(Eq_x_0,Eq_x_1,Eq_x_2) = combc(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_14,axiom,
    ( combi(Eq_x_0) = combi(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_15,axiom,
    ( combk(Eq_x_0,Eq_x_1) = combk(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_16,axiom,
    ( combs(Eq_x_0,Eq_x_1,Eq_x_2) = combs(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_17,axiom,
    ( conf(Eq_x_0) = conf(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_18,axiom,
    ( hconf(Eq_x_0) = hconf(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_19,axiom,
    ( lconf(Eq_x_0) = lconf(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_20,axiom,
    ( oconf(Eq_x_0) = oconf(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_21,axiom,
    ( class_1(Eq_x_0) = class_1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_22,axiom,
    ( is_class(Eq_x_0) = is_class(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_23,axiom,
    ( is_type(Eq_x_0) = is_type(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_24,axiom,
    ( d(Eq_x_0) = d(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_25,axiom,
    ( start_heap(Eq_x_0) = start_heap(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_26,axiom,
    ( bop_case(Eq_x_0) = bop_case(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_27,axiom,
    ( bop_rec(Eq_x_0) = bop_rec(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_28,axiom,
    ( binOp(Eq_x_0) = binOp(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_29,axiom,
    ( block(Eq_x_0) = block(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_30,axiom,
    ( call(Eq_x_0) = call(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_31,axiom,
    ( cast(Eq_x_0) = cast(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_32,axiom,
    ( cond(Eq_x_0) = cond(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_33,axiom,
    ( fAcc(Eq_x_0) = fAcc(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_34,axiom,
    ( fAss(Eq_x_0) = fAss(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_35,axiom,
    ( lAss(Eq_x_0) = lAss(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_36,axiom,
    ( seq(Eq_x_0) = seq(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_37,axiom,
    ( tryCatch(Eq_x_0) = tryCatch(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_38,axiom,
    ( val_1(Eq_x_0) = val_1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_39,axiom,
    ( while(Eq_x_0) = while(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_40,axiom,
    ( new(Eq_x_0) = new(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_41,axiom,
    ( throw(Eq_x_0) = throw(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_42,axiom,
    ( comp(Eq_x_0,Eq_x_1,Eq_x_2) = comp(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_43,axiom,
    ( fun_upd(Eq_x_0,Eq_x_1) = fun_upd(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_44,axiom,
    ( override_on(Eq_x_0,Eq_x_1) = override_on(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_45,axiom,
    ( the_1(Eq_x_0) = the_1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_46,axiom,
    ( undefined(Eq_x_0) = undefined(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_47,axiom,
    ( semilattice_sup_sup(Eq_x_0) = semilattice_sup_sup(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_48,axiom,
    ( append(Eq_x_0) = append(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_49,axiom,
    ( distinct(Eq_x_0) = distinct(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_50,axiom,
    ( cons(Eq_x_0) = cons(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_51,axiom,
    ( list_all2(Eq_x_0,Eq_x_1) = list_all2(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_52,axiom,
    ( map(Eq_x_0,Eq_x_1) = map(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_53,axiom,
    ( set(Eq_x_0) = set(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_54,axiom,
    ( dom(Eq_x_0,Eq_x_1) = dom(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_55,axiom,
    ( map_add(Eq_x_0,Eq_x_1) = map_add(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_56,axiom,
    ( map_upds(Eq_x_0,Eq_x_1) = map_upds(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_57,axiom,
    ( restrict_map(Eq_x_0,Eq_x_1) = restrict_map(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_58,axiom,
    ( size_size(Eq_x_0) = size_size(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_59,axiom,
    ( blank(Eq_x_0) = blank(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_60,axiom,
    ( none(Eq_x_0) = none(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_61,axiom,
    ( some(Eq_x_0) = some(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_62,axiom,
    ( option_case(Eq_x_0,Eq_x_1) = option_case(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_63,axiom,
    ( the(Eq_x_0) = the(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_64,axiom,
    ( ord_less_eq(Eq_x_0) = ord_less_eq(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_65,axiom,
    ( product_Pair(Eq_x_0,Eq_x_1) = product_Pair(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_66,axiom,
    ( product_curry(Eq_x_0,Eq_x_1,Eq_x_2) = product_curry(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_67,axiom,
    ( produc1605651328_split(Eq_x_0,Eq_x_1,Eq_x_2) = produc1605651328_split(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_68,axiom,
    ( product_prod_case(Eq_x_0,Eq_x_1,Eq_x_2) = product_prod_case(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_69,axiom,
    ( product_prod_rec(Eq_x_0,Eq_x_1,Eq_x_2) = product_prod_rec(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_70,axiom,
    ( collect(Eq_x_0) = collect(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_71,axiom,
    ( transitive_rtrancl(Eq_x_0) = transitive_rtrancl(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_72,axiom,
    ( transitive_rtranclp(Eq_x_0) = transitive_rtranclp(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_73,axiom,
    ( transitive_trancl(Eq_x_0) = transitive_trancl(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_74,axiom,
    ( fields(Eq_x_0) = fields(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_75,axiom,
    ( method(Eq_x_0) = method(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_76,axiom,
    ( methods(Eq_x_0) = methods(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_77,axiom,
    ( field(Eq_x_0) = field(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_78,axiom,
    ( fields_1(Eq_x_0) = fields_1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_79,axiom,
    ( has_field(Eq_x_0) = has_field(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_80,axiom,
    ( method_1(Eq_x_0) = method_1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_81,axiom,
    ( sees_field(Eq_x_0) = sees_field(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_82,axiom,
    ( subcls1(Eq_x_0) = subcls1(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_83,axiom,
    ( subcls1p(Eq_x_0) = subcls1p(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_84,axiom,
    ( widen(Eq_x_0) = widen(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_85,axiom,
    ( ty_case(Eq_x_0) = ty_case(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_86,axiom,
    ( wf_cdecl(Eq_x_0) = wf_cdecl(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_87,axiom,
    ( wf_fdecl(Eq_x_0) = wf_fdecl(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_88,axiom,
    ( wf_mdecl(Eq_x_0) = wf_mdecl(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_89,axiom,
    ( wf_prog(Eq_x_0) = wf_prog(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_90,axiom,
    ( lex_prod(Eq_x_0,Eq_x_1) = lex_prod(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_91,axiom,
    ( fequal(Eq_x_0) = fequal(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_92,axiom,
    ( hAPP(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = hAPP(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_93,axiom,
    ( member(Eq_x_0) = member(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_94,axiom,
    ( sK1(Eq_x_0,Eq_x_1) = sK1(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_95,axiom,
    ( sK2(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK2(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_96,axiom,
    ( sK3(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK3(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_97,axiom,
    ( sK4(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK4(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_98,axiom,
    ( sK5(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK5(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_99,axiom,
    ( sK6(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK6(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_100,axiom,
    ( sK7(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK7(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_101,axiom,
    ( sK8(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK8(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_102,axiom,
    ( sK9(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK9(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_103,axiom,
    ( sK10(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK10(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_104,axiom,
    ( sK11(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK11(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_105,axiom,
    ( sK12(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK12(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_106,axiom,
    ( sK13(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK13(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_107,axiom,
    ( sK14(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK14(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_108,axiom,
    ( sK15(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK15(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_109,axiom,
    ( sK16(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK16(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_110,axiom,
    ( sK17(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK17(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_111,axiom,
    ( sK18(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK18(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_112,axiom,
    ( sK19(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK19(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_113,axiom,
    ( sK20(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK20(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_114,axiom,
    ( sK21(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK21(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_115,axiom,
    ( sK22(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK22(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_116,axiom,
    ( sK23(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK23(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_117,axiom,
    ( sK24(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK24(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_118,axiom,
    ( sK25(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK25(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_119,axiom,
    ( sK26(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK26(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_120,axiom,
    ( sK27(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK27(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_121,axiom,
    ( sK28(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK28(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_122,axiom,
    ( sK29(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK29(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_123,axiom,
    ( sK30(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK30(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_124,axiom,
    ( sK31(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK31(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_125,axiom,
    ( sK32(Eq_x_0,Eq_x_1,Eq_x_2) = sK32(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_126,axiom,
    ( sK33(Eq_x_0,Eq_x_1,Eq_x_2) = sK33(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_127,axiom,
    ( sK34(Eq_x_0,Eq_x_1,Eq_x_2) = sK34(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_128,axiom,
    ( sK35(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK35(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_129,axiom,
    ( sK36(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK36(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_130,axiom,
    ( sK37(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK37(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_131,axiom,
    ( sK38(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK38(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_132,axiom,
    ( sK39(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK39(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_133,axiom,
    ( sK40(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK40(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_134,axiom,
    ( sK41(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK41(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_135,axiom,
    ( sK42(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK42(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_136,axiom,
    ( sK43(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK43(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_137,axiom,
    ( sK44(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK44(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_138,axiom,
    ( sK45(Eq_x_0,Eq_x_1,Eq_x_2) = sK45(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_139,axiom,
    ( sK46(Eq_x_0,Eq_x_1,Eq_x_2) = sK46(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_140,axiom,
    ( sK47(Eq_x_0,Eq_x_1,Eq_x_2) = sK47(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_141,axiom,
    ( sK48(Eq_x_0,Eq_x_1,Eq_x_2) = sK48(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_142,axiom,
    ( sK49(Eq_x_0,Eq_x_1,Eq_x_2) = sK49(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_143,axiom,
    ( sK50(Eq_x_0,Eq_x_1,Eq_x_2) = sK50(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_144,axiom,
    ( sK51(Eq_x_0,Eq_x_1,Eq_x_2) = sK51(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_145,axiom,
    ( sK52(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK52(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_146,axiom,
    ( sK53(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK53(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_147,axiom,
    ( sK54(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK54(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_148,axiom,
    ( sK55(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK55(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_149,axiom,
    ( sK56(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK56(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_150,axiom,
    ( sK57(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK57(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_151,axiom,
    ( sK58(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK58(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_152,axiom,
    ( sK59(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK59(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_153,axiom,
    ( sK60(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK60(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_154,axiom,
    ( sK61(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK61(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_155,axiom,
    ( sK62(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK62(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_156,axiom,
    ( sK63(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK63(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_157,axiom,
    ( sK64(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK64(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_158,axiom,
    ( sK65(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK65(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_159,axiom,
    ( sK66(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK66(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_160,axiom,
    ( sK67(Eq_x_0,Eq_x_1) = sK67(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_161,axiom,
    ( sK68(Eq_x_0,Eq_x_1) = sK68(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_162,axiom,
    ( sK69(Eq_x_0,Eq_x_1) = sK69(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_163,axiom,
    ( sK70(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK70(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_164,axiom,
    ( sK71(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK71(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_165,axiom,
    ( sK72(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK72(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_166,axiom,
    ( sK73(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK73(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_167,axiom,
    ( sK74(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK74(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_168,axiom,
    ( sK75(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK75(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_169,axiom,
    ( sK76(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK76(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_170,axiom,
    ( sK77(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK77(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_171,axiom,
    ( sK78(Eq_x_0,Eq_x_1) = sK78(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_172,axiom,
    ( sK79(Eq_x_0,Eq_x_1) = sK79(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_173,axiom,
    ( sK80(Eq_x_0,Eq_x_1) = sK80(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_174,axiom,
    ( sK81(Eq_x_0,Eq_x_1) = sK81(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_175,axiom,
    ( sK82(Eq_x_0,Eq_x_1) = sK82(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_176,axiom,
    ( sK83(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK83(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_177,axiom,
    ( sK84(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK84(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_178,axiom,
    ( sK85(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK85(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_179,axiom,
    ( sK86(Eq_x_0,Eq_x_1) = sK86(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_180,axiom,
    ( sK87(Eq_x_0,Eq_x_1) = sK87(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_181,axiom,
    ( sK88(Eq_x_0,Eq_x_1,Eq_x_2) = sK88(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_182,axiom,
    ( sK89(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK89(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_183,axiom,
    ( sK90(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK90(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_184,axiom,
    ( sK91(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK91(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_185,axiom,
    ( sK92(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK92(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_186,axiom,
    ( sK93(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK93(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_187,axiom,
    ( sK94(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK94(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_188,axiom,
    ( sK95(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK95(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_189,axiom,
    ( sK96(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK96(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_190,axiom,
    ( sK97(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK97(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_191,axiom,
    ( sK98(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK98(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_192,axiom,
    ( sK99(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK99(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_193,axiom,
    ( sK100(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK100(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_194,axiom,
    ( sK101(Eq_x_0,Eq_x_1) = sK101(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_195,axiom,
    ( sK102(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK102(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_196,axiom,
    ( sK103(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK103(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_197,axiom,
    ( sK104(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK104(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_198,axiom,
    ( sK105(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK105(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_199,axiom,
    ( sK106(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK106(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_200,axiom,
    ( sK107(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK107(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_201,axiom,
    ( sK108(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK108(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_202,axiom,
    ( sK109(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK109(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_203,axiom,
    ( sK110(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK110(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_204,axiom,
    ( sK111(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK111(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_205,axiom,
    ( sK112(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK112(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_206,axiom,
    ( sK113(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK113(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_207,axiom,
    ( sK114(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK114(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_208,axiom,
    ( sK115(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK115(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_209,axiom,
    ( sK116(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK116(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_210,axiom,
    ( sK117(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK117(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_211,axiom,
    ( sK118(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK118(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_212,axiom,
    ( sK119(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK119(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_213,axiom,
    ( sK120(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK120(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_214,axiom,
    ( sK121(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK121(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_215,axiom,
    ( sK122(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK122(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_216,axiom,
    ( sK123(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK123(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_217,axiom,
    ( sK124(Eq_x_0,Eq_x_1) = sK124(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_218,axiom,
    ( sK125(Eq_x_0,Eq_x_1) = sK125(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_219,axiom,
    ( sK126(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK126(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_220,axiom,
    ( sK127(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK127(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_221,axiom,
    ( sK128(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK128(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_222,axiom,
    ( sK129(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK129(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_223,axiom,
    ( sK130(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK130(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_224,axiom,
    ( sK131(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK131(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_225,axiom,
    ( sK132(Eq_x_0,Eq_x_1) = sK132(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_226,axiom,
    ( sK133(Eq_x_0,Eq_x_1) = sK133(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_227,axiom,
    ( sK134(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK134(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_228,axiom,
    ( sK135(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK135(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_229,axiom,
    ( sK136(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK136(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_230,axiom,
    ( sK137(Eq_x_0,Eq_x_1,Eq_x_2) = sK137(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_231,axiom,
    ( sK138(Eq_x_0,Eq_x_1,Eq_x_2) = sK138(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_232,axiom,
    ( sK139(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK139(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_233,axiom,
    ( sK140(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK140(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_234,axiom,
    ( sK141(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK141(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_235,axiom,
    ( sK142(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK142(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_236,axiom,
    ( sK143(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK143(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_237,axiom,
    ( sK144(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK144(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_238,axiom,
    ( sK145(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK145(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_239,axiom,
    ( sK146(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK146(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_240,axiom,
    ( sK147(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK147(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_241,axiom,
    ( sK148(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK148(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_242,axiom,
    ( sK149(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK149(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_243,axiom,
    ( sK150(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK150(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_244,axiom,
    ( sK151(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK151(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_245,axiom,
    ( sK152(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK152(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_246,axiom,
    ( sK153(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK153(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_247,axiom,
    ( sK154(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK154(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_248,axiom,
    ( sK155(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK155(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_249,axiom,
    ( sK156(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK156(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_250,axiom,
    ( sK157(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK157(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_251,axiom,
    ( sK158(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK158(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_252,axiom,
    ( sK159(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK159(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_253,axiom,
    ( sK160(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK160(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_254,axiom,
    ( sK161(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK161(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_255,axiom,
    ( sK162(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK162(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_256,axiom,
    ( sK163(Eq_x_0,Eq_x_1,Eq_x_2) = sK163(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_257,axiom,
    ( sK164(Eq_x_0,Eq_x_1) = sK164(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_258,axiom,
    ( sK165(Eq_x_0,Eq_x_1) = sK165(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_259,axiom,
    ( sK166(Eq_x_0) = sK166(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_260,axiom,
    ( sK167(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK167(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_261,axiom,
    ( sK168(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK168(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_262,axiom,
    ( sK169(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK169(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_263,axiom,
    ( sK170(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK170(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_264,axiom,
    ( sK171(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK171(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_265,axiom,
    ( sK172(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK172(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_266,axiom,
    ( sK173(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK173(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_267,axiom,
    ( sK174(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK174(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_268,axiom,
    ( sK175(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK175(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_269,axiom,
    ( sK176(Eq_x_0) = sK176(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_270,axiom,
    ( sK177(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK177(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_271,axiom,
    ( sK178(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK178(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_272,axiom,
    ( sK179(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK179(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_273,axiom,
    ( sK180(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK180(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_274,axiom,
    ( sK181(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK181(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_275,axiom,
    ( sK182(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK182(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_276,axiom,
    ( sK183(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK183(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_277,axiom,
    ( sK184(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK184(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_278,axiom,
    ( sK185(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK185(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_279,axiom,
    ( sK186(Eq_x_0) = sK186(Eq_y_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_280,axiom,
    ( sK187(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK187(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_281,axiom,
    ( sK188(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK188(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_282,axiom,
    ( sK189(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK189(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_283,axiom,
    ( sK190(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK190(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_284,axiom,
    ( sK191(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK191(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_285,axiom,
    ( sK192(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK192(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_286,axiom,
    ( sK193(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK193(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_287,axiom,
    ( sK194(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK194(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_288,axiom,
    ( sK195(Eq_x_0,Eq_x_1,Eq_x_2) = sK195(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_289,axiom,
    ( sK196(Eq_x_0,Eq_x_1,Eq_x_2) = sK196(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_290,axiom,
    ( sK197(Eq_x_0,Eq_x_1,Eq_x_2) = sK197(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_291,axiom,
    ( sK198(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK198(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_292,axiom,
    ( sK199(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK199(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_293,axiom,
    ( sK200(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK200(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_294,axiom,
    ( sK201(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK201(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_295,axiom,
    ( sK202(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK202(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_296,axiom,
    ( sK203(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK203(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_297,axiom,
    ( sK204(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK204(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_298,axiom,
    ( sK205(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK205(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_299,axiom,
    ( sK206(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK206(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_300,axiom,
    ( sK207(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK207(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_301,axiom,
    ( sK208(Eq_x_0,Eq_x_1) = sK208(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_302,axiom,
    ( sK209(Eq_x_0,Eq_x_1) = sK209(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_303,axiom,
    ( sK210(Eq_x_0,Eq_x_1) = sK210(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_304,axiom,
    ( sK211(Eq_x_0,Eq_x_1) = sK211(Eq_y_0,Eq_y_1)
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_305,axiom,
    ( sK212(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK212(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_306,axiom,
    ( sK213(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK213(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_307,axiom,
    ( sK214(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK214(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_308,axiom,
    ( sK215(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK215(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_309,axiom,
    ( sK216(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK216(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_310,axiom,
    ( sK217(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK217(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_311,axiom,
    ( sK218(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK218(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_312,axiom,
    ( sK219(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK219(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_313,axiom,
    ( sK220(Eq_x_0,Eq_x_1,Eq_x_2) = sK220(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_314,axiom,
    ( sK221(Eq_x_0,Eq_x_1,Eq_x_2) = sK221(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_315,axiom,
    ( sK222(Eq_x_0,Eq_x_1,Eq_x_2) = sK222(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_316,axiom,
    ( sK223(Eq_x_0,Eq_x_1,Eq_x_2) = sK223(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_317,axiom,
    ( sK224(Eq_x_0,Eq_x_1,Eq_x_2) = sK224(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_318,axiom,
    ( sK225(Eq_x_0,Eq_x_1,Eq_x_2) = sK225(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_319,axiom,
    ( sK226(Eq_x_0,Eq_x_1,Eq_x_2) = sK226(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_320,axiom,
    ( sK227(Eq_x_0,Eq_x_1,Eq_x_2) = sK227(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_321,axiom,
    ( sK228(Eq_x_0,Eq_x_1,Eq_x_2) = sK228(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_322,axiom,
    ( sK229(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK229(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_323,axiom,
    ( sK230(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK230(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_324,axiom,
    ( sK231(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK231(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_325,axiom,
    ( sK232(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK232(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_326,axiom,
    ( sK233(Eq_x_0,Eq_x_1,Eq_x_2) = sK233(Eq_y_0,Eq_y_1,Eq_y_2)
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_327,axiom,
    ( sK234(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK234(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_328,axiom,
    ( sK235(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK235(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_329,axiom,
    ( sK236(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6) = sK236(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6)
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_330,axiom,
    ( sK237(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK237(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_331,axiom,
    ( sK238(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK238(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_332,axiom,
    ( sK239(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7,Eq_x_8,Eq_x_9) = sK239(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7,Eq_y_8,Eq_y_9)
    | Eq_x_9 != Eq_y_9
    | Eq_x_8 != Eq_y_8
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_333,axiom,
    ( sK240(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5,Eq_x_6,Eq_x_7) = sK240(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5,Eq_y_6,Eq_y_7)
    | Eq_x_7 != Eq_y_7
    | Eq_x_6 != Eq_y_6
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_334,axiom,
    ( sK241(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK241(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_335,axiom,
    ( sK242(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK242(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_336,axiom,
    ( sK243(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK243(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_337,axiom,
    ( sK244(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK244(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_338,axiom,
    ( sK245(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK245(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_339,axiom,
    ( sK246(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK246(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_340,axiom,
    ( sK247(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK247(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_341,axiom,
    ( sK248(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK248(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_342,axiom,
    ( sK249(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4,Eq_x_5) = sK249(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4,Eq_y_5)
    | Eq_x_5 != Eq_y_5
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_343,axiom,
    ( sK250(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK250(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_344,axiom,
    ( sK251(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3) = sK251(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3)
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_345,axiom,
    ( sK252(Eq_x_0,Eq_x_1,Eq_x_2,Eq_x_3,Eq_x_4) = sK252(Eq_y_0,Eq_y_1,Eq_y_2,Eq_y_3,Eq_y_4)
    | Eq_x_4 != Eq_y_4
    | Eq_x_3 != Eq_y_3
    | Eq_x_2 != Eq_y_2
    | Eq_x_1 != Eq_y_1
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_functions]) ).

cnf(equality_346,axiom,
    ( semilattice_sup(Eq_y_0)
    | ~ semilattice_sup(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_347,axiom,
    ( ord(Eq_y_0)
    | ~ ord(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_348,axiom,
    ( hBOOL(Eq_y_0)
    | ~ hBOOL(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_349,axiom,
    ( preorder(Eq_y_0)
    | ~ preorder(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_350,axiom,
    ( linorder(Eq_y_0)
    | ~ linorder(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_351,axiom,
    ( order(Eq_y_0)
    | ~ order(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(equality_352,axiom,
    ( lattice(Eq_y_0)
    | ~ lattice(Eq_x_0)
    | Eq_x_0 != Eq_y_0 ),
    theory(equality,[substitution_predicates]) ).

cnf(sat_proved,plain,
    $false,
    inference(cadical,[status(thm)],[]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : SWW478+7 : TPTP v9.3.1. Released v5.3.0.
% 0.00/0.04  This is a FOF_THM_RFO_SEQ problem
% 0.00/0.04  % Command  : /export/starexec/sandbox/solver/bin/connect++ --verbosity 1 --no-colour --tptp-proof --schedule default --timeout 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.11/0.37  % Computer : n005.cluster.edu
% 0.11/0.37  % Model    : x86_64 x86_64
% 0.11/0.37  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.37  % Memory   : 8046.5625MB
% 0.11/0.37  % OS       : Linux 6.8.0-71-generic
% 0.11/0.37  % CPULimit : 300
% 0.11/0.37  % WCLimit  : 300
% 0.11/0.37  % DateTime : Sun Sep 20 05:44:48 UTC 2026
% 0.11/0.37  % CPUTime  : 
% 77.95/78.21  % SZS status Theorem for theBenchmark
% 77.95/78.21  % SZS output start Proof for theBenchmark
% See solution above
%------------------------------------------------------------------------------